{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/react/index.js","webpack:///./node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","webpack:///./node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/recoil/es/index.js","webpack:///./app/javascript/store/dailyreports/atom.ts","webpack:///./node_modules/antd-mobile/es/utils/can-use-dom.js","webpack:///./node_modules/antd-mobile/es/global/index.js","webpack:///./node_modules/antd-mobile/es/utils/native-props.js","webpack:///./node_modules/antd-mobile/es/components/auto-center/auto-center.js","webpack:///./node_modules/antd-mobile/es/components/auto-center/index.js","webpack:///./node_modules/antd-mobile/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/antd-mobile/es/utils/with-default-props.js","webpack:///./node_modules/antd-mobile/es/components/dot-loading/dot-loading.js","webpack:///./node_modules/antd-mobile/es/components/dot-loading/index.js","webpack:///./node_modules/antd-mobile/es/utils/validate.js","webpack:///./node_modules/antd-mobile/es/components/button/button.js","webpack:///./node_modules/antd-mobile/es/components/button/index.js","webpack:///./node_modules/ahooks/es/utils/isBrowser.js","webpack:///./node_modules/ahooks/es/useIsomorphicLayoutEffect/index.js","webpack:///./node_modules/ahooks/es/useUnmountedRef/index.js","webpack:///./node_modules/antd-mobile/es/utils/get-scroll-parent.js","webpack:///./node_modules/antd-mobile/es/utils/supports-passive.js","webpack:///./node_modules/antd-mobile/es/utils/use-lock-scroll.js","webpack:///./node_modules/antd-mobile/es/utils/use-touch.js","webpack:///./node_modules/antd-mobile/es/utils/render-to-container.js","webpack:///./node_modules/antd-mobile/es/utils/get-container.js","webpack:///./node_modules/antd-mobile/es/locales/zh-CN.js","webpack:///./node_modules/antd-mobile/es/components/config-provider/config-provider.js","webpack:///./node_modules/antd-mobile/es/utils/should-render.js","webpack:///./node_modules/antd-mobile/es/utils/use-initialized.js","webpack:///./node_modules/antd-mobile/es/utils/with-stop-propagation.js","webpack:///./node_modules/antd-mobile/es/components/mask/mask.js","webpack:///./node_modules/antd-mobile/es/components/mask/index.js","webpack:///./node_modules/antd-mobile-icons/es/CloseOutline.js","webpack:///./node_modules/antd-mobile/es/components/popup/popup-base-props.js","webpack:///./node_modules/antd-mobile/es/utils/use-inner-visible.js","webpack:///./node_modules/antd-mobile/es/components/popup/popup.js","webpack:///./node_modules/antd-mobile/es/components/popup/index.js","webpack:///./node_modules/ahooks/es/useUpdate/index.js","webpack:///./node_modules/ahooks/es/utils/index.js","webpack:///./node_modules/ahooks/es/useMemoizedFn/index.js","webpack:///./node_modules/antd-mobile/es/utils/use-props-value.js","webpack:///./node_modules/antd-mobile/es/utils/bound.js","webpack:///./node_modules/ahooks/es/useLatest/index.js","webpack:///./node_modules/ahooks/es/useUnmount/index.js","webpack:///./node_modules/ahooks/es/useThrottleFn/index.js","webpack:///./node_modules/ahooks/es/createUpdateEffect/index.js","webpack:///./node_modules/antd-mobile/es/utils/use-isomorphic-update-layout-effect.js","webpack:///./node_modules/antd-mobile/es/utils/traverse-react-node.js","webpack:///./node_modules/antd-mobile/es/components/tabs/tabs.js","webpack:///./node_modules/antd-mobile/es/utils/attach-properties-to-component.js","webpack:///./node_modules/antd-mobile/es/components/tabs/index.js","webpack:///./node_modules/antd-mobile/es/utils/use-resize-effect.js","webpack:///./node_modules/antd-mobile/es/utils/use-mutation-effect.js","webpack:///./node_modules/antd-mobile/es/components/list/list.js","webpack:///./node_modules/antd-mobile-icons/es/RightOutline.js","webpack:///./node_modules/antd-mobile/es/utils/is-node-with-content.js","webpack:///./node_modules/antd-mobile/es/components/list/list-item.js","webpack:///./node_modules/antd-mobile/es/components/list/index.js","webpack:///./node_modules/antd-mobile/es/components/check-list/context.js","webpack:///./node_modules/antd-mobile-icons/es/CheckOutline.js","webpack:///./node_modules/antd-mobile/es/components/check-list/check-list.js","webpack:///./node_modules/antd-mobile/es/components/check-list/check-list-item.js","webpack:///./node_modules/antd-mobile/es/components/check-list/index.js","webpack:///./node_modules/antd-mobile/es/components/cascader-view/use-cascader-value-extend.js","webpack:///./node_modules/antd-mobile/es/components/cascader-view/option-skeleton.js","webpack:///./node_modules/antd-mobile/es/components/skeleton/skeleton.js","webpack:///./node_modules/antd-mobile/es/components/skeleton/index.js","webpack:///./node_modules/antd-mobile/es/utils/generate-int-array.js","webpack:///./node_modules/ahooks/es/useUpdateEffect/index.js","webpack:///./node_modules/antd-mobile/es/components/cascader-view/cascader-view.js","webpack:///./node_modules/antd-mobile/es/components/cascader-view/index.js","webpack:///./node_modules/antd-mobile/es/components/cascader/cascader.js","webpack:///./node_modules/antd-mobile/es/utils/render.js","webpack:///./node_modules/antd-mobile/es/utils/render-to-body.js","webpack:///./node_modules/antd-mobile/es/components/cascader/prompt.js","webpack:///./node_modules/antd-mobile/es/components/cascader/index.js","webpack:///./node_modules/antd-mobile-icons/es/DownOutline.js","webpack:///./node_modules/ahooks/es/useMount/index.js","webpack:///./node_modules/antd-mobile/es/components/collapse/collapse.js","webpack:///./node_modules/antd-mobile/es/components/collapse/index.js","webpack:///./node_modules/antd-mobile/es/components/config-provider/index.js","webpack:///./node_modules/antd-mobile/es/components/dialog/dialog-action-button.js","webpack:///./node_modules/antd-mobile/es/utils/to-css-length.js","webpack:///./node_modules/ahooks/es/utils/domTarget.js","webpack:///./node_modules/ahooks/es/utils/depsAreSame.js","webpack:///./node_modules/ahooks/es/utils/createEffectWithTarget.js","webpack:///./node_modules/ahooks/es/utils/useEffectWithTarget.js","webpack:///./node_modules/ahooks/es/useInViewport/index.js","webpack:///./node_modules/antd-mobile/es/components/image/lazy-detector.js","webpack:///./node_modules/antd-mobile/es/components/image/image-icon.js","webpack:///./node_modules/antd-mobile/es/components/image/broken-image-icon.js","webpack:///./node_modules/antd-mobile/es/components/image/image.js","webpack:///./node_modules/antd-mobile/es/components/image/index.js","webpack:///./node_modules/antd-mobile/es/components/center-popup/center-popup.js","webpack:///./node_modules/antd-mobile/es/components/center-popup/index.js","webpack:///./node_modules/antd-mobile/es/components/dialog/dialog.js","webpack:///./node_modules/antd-mobile/es/utils/render-imperatively.js","webpack:///./node_modules/antd-mobile/es/components/dialog/show.js","webpack:///./node_modules/antd-mobile/es/components/dialog/confirm.js","webpack:///./node_modules/antd-mobile/es/components/dialog/index.js","webpack:///./node_modules/antd-mobile/es/components/dialog/alert.js","webpack:///./node_modules/antd-mobile/es/components/dialog/clear.js","webpack:///./node_modules/antd-mobile/es/components/empty/empty-icon.js","webpack:///./node_modules/antd-mobile/es/components/empty/index.js","webpack:///./node_modules/antd-mobile/es/components/empty/empty.js","webpack:///./node_modules/antd-mobile/es/components/space/space.js","webpack:///./node_modules/antd-mobile/es/components/space/index.js","webpack:///./node_modules/antd-mobile-icons/es/MinusOutline.js","webpack:///./node_modules/antd-mobile-icons/es/AddOutline.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@rc-component/mini-decimal/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@rc-component/mini-decimal/es/supportUtil.js","webpack:///./node_modules/@rc-component/mini-decimal/es/numberUtil.js","webpack:///./node_modules/@rc-component/mini-decimal/es/MiniDecimal.js","webpack:///./node_modules/@rc-component/mini-decimal/es/index.js","webpack:///./node_modules/antd-mobile-icons/es/CloseCircleFill.js","webpack:///./node_modules/antd-mobile/es/components/input/input.js","webpack:///./node_modules/antd-mobile/es/components/input/index.js","webpack:///./node_modules/antd-mobile/es/components/stepper/stepper.js","webpack:///./node_modules/antd-mobile/es/components/stepper/index.js","webpack:///./node_modules/antd-mobile/es/components/tag/tag.js","webpack:///./node_modules/antd-mobile/es/components/tag/index.js","webpack:///./node_modules/antd-mobile/es/utils/reduce-and-restore-motion.js","webpack:///./node_modules/antd-mobile/es/components/spin-loading/spin-loading.js","webpack:///./node_modules/antd-mobile/es/components/spin-loading/index.js","webpack:///./node_modules/antd-mobile/es/components/toast/toast.js","webpack:///./node_modules/antd-mobile/es/components/toast/methods.js","webpack:///./node_modules/antd-mobile/es/components/toast/index.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./app/javascript/components/FormGroup.tsx","webpack:///./node_modules/lodash/isNil.js","webpack:///./node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/react-select/dist/index-4bd03571.esm.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/antd-mobile/node_modules/classnames/index.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/recharts/node_modules/classnames/index.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./app/javascript/store/dailyreports-configure/index.ts","webpack:///./app/javascript/lib/react-select/create-filter-config.ts","webpack:///./app/javascript/store/initializeState/dailyreports.ts","webpack:///./app/javascript/components/SectionLayout.tsx","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./app/javascript/components/form/dailyReport/workProperty/index.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeAControl.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeCControl.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeCWorkingEditDialogControl.tsx","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeCWorkEditDialogControl.tsx","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeC.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReport.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportPersist.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportRepresentTypeCControl.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportRepresentationControl.ts","webpack:///./app/javascript/hooks/dailyReport/useFetchUnsubmitUsers.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeDControl.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeDWorkEditDialogControl.tsx","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeD.ts","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeDWorkingEditDialogControl.tsx","webpack:///./node_modules/bignumber.js/bignumber.js","webpack:///./node_modules/@react-spring/web/dist/react-spring-web.esm.js","webpack:///./node_modules/recharts/es6/polyfill.js","webpack:///./node_modules/recharts/es6/util/DataUtils.js","webpack:///./node_modules/recharts/es6/util/ShallowEqual.js","webpack:///./node_modules/recharts/es6/util/ReactUtils.js","webpack:///./node_modules/recharts/es6/container/Surface.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/recharts/es6/shape/Symbols.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/recharts/es6/component/DefaultLegendContent.js","webpack:///./node_modules/recharts/es6/component/Legend.js","webpack:///./node_modules/react-smooth/es6/setRafTimeout.js","webpack:///./node_modules/react-smooth/es6/AnimateManager.js","webpack:///./node_modules/react-smooth/es6/util.js","webpack:///./node_modules/react-smooth/es6/easing.js","webpack:///./node_modules/react-smooth/es6/configUpdate.js","webpack:///./node_modules/react-smooth/es6/Animate.js","webpack:///./node_modules/react-smooth/es6/AnimateGroupChild.js","webpack:///./node_modules/react-smooth/es6/AnimateGroup.js","webpack:///./node_modules/react-smooth/es6/index.js","webpack:///./node_modules/recharts/es6/component/DefaultTooltipContent.js","webpack:///./node_modules/recharts/es6/component/Tooltip.js","webpack:///./node_modules/recharts/es6/component/ResponsiveContainer.js","webpack:///./node_modules/recharts/es6/component/Cell.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-scale/src/init.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/numberArray.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/symlog.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale/src/sequentialQuantile.js","webpack:///./node_modules/d3-scale/src/diverging.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/recharts/es6/container/Layer.js","webpack:///./node_modules/recharts/es6/cartesian/ErrorBar.js","webpack:///./node_modules/recharts/es6/util/ChartUtils.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/recharts/es6/util/PolarUtils.js","webpack:///./node_modules/recharts/es6/shape/Sector.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/recharts/es6/shape/Curve.js","webpack:///./node_modules/recharts/es6/util/DOMUtils.js","webpack:///./node_modules/recharts/es6/component/Text.js","webpack:///./node_modules/recharts/es6/component/Label.js","webpack:///./node_modules/recharts/es6/component/LabelList.js","webpack:///./node_modules/recharts/es6/polar/Pie.js","webpack:///./node_modules/recharts/es6/util/CssPrefixUtils.js","webpack:///./node_modules/recharts/es6/cartesian/Brush.js","webpack:///./node_modules/recharts/es6/cartesian/CartesianGrid.js","webpack:///./node_modules/recharts/es6/shape/Rectangle.js","webpack:///./node_modules/recharts/es6/cartesian/Bar.js","webpack:///./node_modules/recharts/es6/cartesian/XAxis.js","webpack:///./node_modules/recharts/es6/cartesian/YAxis.js","webpack:///./node_modules/recharts/es6/shape/Cross.js","webpack:///./node_modules/recharts/es6/shape/Dot.js","webpack:///./node_modules/recharts/es6/cartesian/CartesianAxis.js","webpack:///./node_modules/recharts/es6/util/IfOverflowMatches.js","webpack:///./node_modules/recharts/es6/util/CartesianUtils.js","webpack:///./node_modules/recharts/es6/cartesian/ReferenceDot.js","webpack:///./node_modules/recharts/es6/cartesian/ReferenceLine.js","webpack:///./node_modules/recharts/es6/cartesian/ReferenceArea.js","webpack:///./node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","webpack:///./node_modules/recharts/es6/util/Events.js","webpack:///./node_modules/recharts/es6/chart/generateCategoricalChart.js","webpack:///./node_modules/recharts/es6/chart/BarChart.js","webpack:///./node_modules/recharts/es6/shape/Polygon.js","webpack:///./node_modules/recharts/es6/polar/PolarAngleAxis.js","webpack:///./node_modules/recharts/es6/polar/PolarRadiusAxis.js","webpack:///./node_modules/recharts/es6/chart/PieChart.js","webpack:///./node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./app/javascript/components/form/DailyReportViewTypeA/index.ts","webpack:///./node_modules/antd-mobile/es/locales/ja-JP.js","webpack:///./app/javascript/const/index.ts","webpack:///./node_modules/@emotion/react/dist/emotion-element-4fbd89c5.browser.esm.js","webpack:///./app/javascript/components/DailyReportArigatonaForm.tsx","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/react-select/dist/stateManager-845a3300.esm.js","webpack:///./node_modules/react-select/dist/react-select.esm.js","webpack:///(webpack)/buildin/module.js","webpack:///./app/javascript/lib/react-select/reactSelectStyle.ts","webpack:///./app/javascript/utils/guard.ts","webpack:///./app/javascript/validators/datetimePeriodValidator.ts","webpack:///./node_modules/i18n-js/node_modules/lodash/isArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./app/javascript/utils/isValidWork.ts","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/react-select/dist/Select-dbb12e54.esm.js","webpack:///./node_modules/luxon/build/cjs-browser/luxon.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_root.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isArray.js","webpack:///./app/javascript/components/WorkEntity.tsx","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/lodash/isString.js","webpack:///./node_modules/i18n-js/dist/import/Locales.js","webpack:///./node_modules/i18n-js/dist/import/Pluralization.js","webpack:///./node_modules/make-plural/plurals.mjs","webpack:///./node_modules/i18n-js/dist/import/helpers/camelCaseKeys.js","webpack:///./node_modules/i18n-js/dist/import/helpers/isSet.js","webpack:///./node_modules/i18n-js/dist/import/helpers/expandRoundMode.js","webpack:///./node_modules/i18n-js/dist/import/helpers/roundNumber.js","webpack:///./node_modules/i18n-js/dist/import/helpers/formatNumber.js","webpack:///./node_modules/i18n-js/dist/import/helpers/getFullScope.js","webpack:///./node_modules/i18n-js/dist/import/helpers/inferType.js","webpack:///./node_modules/i18n-js/dist/import/helpers/interpolate.js","webpack:///./node_modules/i18n-js/dist/import/helpers/lookup.js","webpack:///./node_modules/i18n-js/dist/import/helpers/numberToDelimited.js","webpack:///./node_modules/i18n-js/dist/import/helpers/numberToHuman.js","webpack:///./node_modules/i18n-js/dist/import/helpers/numberToHumanSize.js","webpack:///./node_modules/i18n-js/dist/import/helpers/parseDate.js","webpack:///./node_modules/i18n-js/dist/import/helpers/pluralize.js","webpack:///./node_modules/i18n-js/dist/import/helpers/strftime.js","webpack:///./node_modules/i18n-js/dist/import/helpers/timeAgoInWords.js","webpack:///./node_modules/i18n-js/dist/import/MissingTranslation.js","webpack:///./node_modules/i18n-js/dist/import/I18n.js","webpack:///./app/javascript/locales/i18n.ts","webpack:///./node_modules/i18n-js/dist/import/helpers/createTranslationOptions.js","webpack:///./app/javascript/locales/generate/ja.ts","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./app/javascript/utils/cascader.ts","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./app/javascript/components/Icon/index.ts","webpack:///./app/javascript/components/form/DailyReportViewTypeC/index.ts","webpack:///./app/javascript/components/form/DailyReportViewTypeD/index.ts","webpack:///./app/javascript/components/form/dailyReport/Cascader/index.tsx","webpack:///./app/javascript/utils/getValueLabel.ts","webpack:///./app/javascript/components/form/DailyReportViewTypeC/WorkEntityListWithHidden.tsx","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/swr/dist/index.esm.js","webpack:///./app/javascript/hooks/api.ts","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isObjectLike.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getNative.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isObjectLike.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./app/javascript/lib/react-select/config.ts","webpack:///./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@rehooks/local-storage/lib/index.js","webpack:///./node_modules/ts-results/esm/utils.js","webpack:///./node_modules/ts-results/esm/option.js","webpack:///./node_modules/ts-results/esm/result.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/i18n-js/node_modules/lodash/toString.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isArrayLike.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseGetTag.js","webpack:///./app/javascript/components/Portal/index.tsx","webpack:///./app/javascript/components/Portal/Portal.tsx","webpack:///./app/javascript/components/Modal/index.ts","webpack:///./app/javascript/components/DailyReportViewTypeB/DailyReportTimespanContainer.tsx","webpack:///./app/javascript/components/DailyReportViewTypeB/DailyReportTimespanWorksForm.tsx","webpack:///./app/javascript/components/DailyReportViewTypeB/state.ts","webpack:///./app/javascript/components/DailyReportViewTypeB/operations.ts","webpack:///./app/javascript/components/form/DailyReportViewTypeC/WorkFormTypeC.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeD/WorkFormTypeD.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeA/DailyReportWorksForm.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeC/WorkContentList.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeC/ThunksWithHidden.tsx","webpack:///./node_modules/lodash/sortBy.js","webpack:///./node_modules/universal-cookie/node_modules/cookie/index.js","webpack:///./node_modules/lodash/uniqBy.js","webpack:///./node_modules/lodash/range.js","webpack:///./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isSymbol.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Symbol.js","webpack:///./node_modules/i18n-js/node_modules/lodash/eq.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js","webpack:///./app/javascript/components/DailyReportsRepresentation/state.ts","webpack:///./node_modules/stylis/dist/stylis.mjs","webpack:///./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/lodash/isNaN.js","webpack:///./node_modules/lodash/max.js","webpack:///./node_modules/lodash/min.js","webpack:///./app/javascript/components/Portal/PortalDialog.tsx","webpack:///./app/javascript/components/Modal/Modal.tsx","webpack:///./app/javascript/components/form/dailyReport/workProperty/WorkPropertySelect.tsx","webpack:///./app/javascript/components/form/dailyReport/workProperty/WorkPropertyCascader.tsx","webpack:///./node_modules/antd-mobile/node_modules/lodash/_root.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_getMapData.js","webpack:///./app/javascript/components/form/dailyReport/workProperty/WorkItemSelect.tsx","webpack:///./app/javascript/components/form/dailyReport/workProperty/WorkItemCascader.tsx","webpack:///./app/javascript/components/Icon/CheckMark.tsx","webpack:///./node_modules/i18n-js/node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_ListCache.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getMapData.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_toKey.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isArguments.js","webpack:///./node_modules/i18n-js/node_modules/lodash/identity.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_ListCache.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Symbol.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getMapData.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/_baseExtremum.js","webpack:///./app/javascript/components/form/DailyReportViewTypeA/DailyReportViewTypeAForm.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeA/DailyReportRepresentationViewTypeAForm.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeA/DailyReportWorksFormContainer.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeC/DailyReportViewTypeCForm.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeD/DailyReportViewTypeDForm.tsx","webpack:///./app/javascript/components/DailyReportViewTypeB/DailyReportTimespanWorksFormDraftContainer.tsx","webpack:///./app/javascript/components/DailyReportViewTypeB/WorkFormForTimespan.tsx","webpack:///./node_modules/@react-spring/core/dist/react-spring-core.esm.js","webpack:///./app/javascript/components/DailyReportViewTypeB/WorkForm.tsx","webpack:///./app/javascript/components/WorkForm.tsx","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeCPersist.ts","webpack:///./app/javascript/components/form/DailyReportViewTypeC/WorkingWorkContent.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeC/DailyReportRepresentationViewTypeCForm.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeD/WorkingWorkContent.tsx","webpack:///./app/javascript/components/form/DailyReportViewTypeD/WorkContentList.tsx","webpack:///./node_modules/universal-cookie/es6/utils.js","webpack:///./node_modules/universal-cookie/es6/Cookies.js","webpack:///./node_modules/universal-cookie/es6/index.js","webpack:///./node_modules/use-reducer-persisted/build/use-reducer-persisted.m.js","webpack:///./app/javascript/components/DailyReportsRepresentation/DailyReportsRepresentationContainer.tsx","webpack:///./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/antd-mobile/es/utils/merge-locale.js","webpack:///./node_modules/antd-mobile/es/locales/base.js","webpack:///./node_modules/validate.js/validate.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/index.js","webpack:///./node_modules/lodash/every.js","webpack:///./node_modules/chroma-js/chroma.js","webpack:///./app/assets/javascripts/rails-routes.js","webpack:///./app/javascript/lib/turbolink/index.ts","webpack:///./node_modules/reduce-css-calc/index.js","webpack:///./node_modules/antd-mobile-icons/es/MinusCircleOutline.js","webpack:///./node_modules/antd-mobile-icons/es/EditSFill.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_getNative.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isObject.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/eq.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isObjectLike.js","webpack:///./node_modules/ahooks/node_modules/lodash/isObject.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isKey.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_MapCache.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isFunction.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Map.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isIndex.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isLength.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Stack.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isPrototype.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isBuffer.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isTypedArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_setToArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/keys.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Map.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isObject.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_MapCache.js","webpack:///./node_modules/react-smooth/node_modules/lodash/keys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isLength.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isArrayLike.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayMap.js","webpack:///./node_modules/react-smooth/node_modules/lodash/identity.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isKey.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/@emotion/react/isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js","webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack:///./node_modules/i18n-js/node_modules/lodash/get.js","webpack:///./node_modules/lodash/isNumber.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/memoize.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isNumber.js","webpack:///./node_modules/recharts-scale/lib/index.js","webpack:///./node_modules/lodash/mapValues.js","webpack:///./app/assets/images/favicon-32x32.png","webpack:///./app/assets/images/nippii-icon-1920x1920.png","webpack:///./app/assets/images/nippii-icon-1920x1920-transparent.png","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_defineProperty.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isFunction.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_Symbol.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/identity.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isArrayLike.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isLength.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_isIndex.js","webpack:///./node_modules/ahooks/node_modules/lodash/_root.js","webpack:///./node_modules/ahooks/node_modules/lodash/_Symbol.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_castPath.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_toSource.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayMap.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hasPath.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_defineProperty.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseFor.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getPrototype.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_overArg.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseUnary.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_safeGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_assignValue.js","webpack:///./node_modules/i18n-js/node_modules/lodash/keysIn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseRest.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_SetCache.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_cacheHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Set.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/i18n-js/node_modules/lodash/toFinite.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayPush.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_equalArrays.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_matchesStrictComparable.js","webpack:///./app/javascript/components/PieGraph.tsx","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Stack.js","webpack:///./node_modules/react-smooth/node_modules/lodash/eq.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isFunction.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_toSource.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_equalArrays.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_SetCache.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_cacheHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isArguments.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isBuffer.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isIndex.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isTypedArray.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseUnary.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseGet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_castPath.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/lodash/_baseFlatten.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_baseGt.js","webpack:///./node_modules/lodash/_baseLt.js","webpack:///./node_modules/decimal.js-light/decimal.js","webpack:///./node_modules/recharts-scale/lib/util/utils.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./app/javascript/components/ThunksBarGraph.tsx","webpack:///./app/javascript/components/WorkTimePerProjectBarGraph.tsx","webpack:///./node_modules/@rehooks/local-storage/lib/local-storage-events.js","webpack:///./app/javascript/components/pages/client_admin/daily_reports/FormThanks.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports/FormWorks.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_representation/NewTypeA.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_representation/NewTypeB.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_representation/NewTypeC.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_users/FormThanks.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_users/FormTimespan.tsx","webpack:///./app/javascript/components/pages/client_admin/daily_reports_users/FormWorks.tsx","webpack:///./app/javascript/components/pages/daily_reports/EditTypeC.tsx","webpack:///./app/javascript/components/pages/daily_reports/EditTypeD.tsx","webpack:///./app/javascript/components/pages/daily_reports/Form.tsx","webpack:///./app/javascript/components/pages/daily_reports/FormEditThanks.tsx","webpack:///./app/javascript/components/pages/daily_reports/FormEditWorks.tsx","webpack:///./app/javascript/components/pages/daily_reports/FormTimespan.tsx","webpack:///./app/javascript/components/pages/daily_reports/NewTypeC.tsx","webpack:///./app/javascript/components/pages/daily_reports/users/Index.tsx","webpack:///./app/javascript/components/pages/daily_reports/users/New.tsx","webpack:///./node_modules/react_ujs/react_ujs/src/getConstructor/fromGlobal.js","webpack:///./app/javascript/components/pages/daily_reports/NewTypeD.tsx","webpack:///./app/javascript/hooks/dailyReport/useDailyReportTypeDPersist.ts","webpack:///./node_modules/antd-mobile/node_modules/lodash/assignWith.js","webpack:///./node_modules/antd-mobile/node_modules/react-is/index.js","webpack:///./node_modules/ahooks/node_modules/lodash/throttle.js","webpack:///./node_modules/staged-components/index.js","webpack:///./node_modules/rc-util/lib/hooks/useMergedState.js","webpack:///./node_modules/use-sync-external-store/shim/index.js","webpack:///./node_modules/i18n-js/node_modules/lodash/has.js","webpack:///./node_modules/i18n-js/node_modules/lodash/merge.js","webpack:///./node_modules/i18n-js/node_modules/lodash/uniq.js","webpack:///./node_modules/i18n-js/node_modules/lodash/camelCase.js","webpack:///./node_modules/i18n-js/node_modules/lodash/repeat.js","webpack:///./node_modules/i18n-js/node_modules/lodash/sortBy.js","webpack:///./node_modules/i18n-js/node_modules/lodash/zipObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/range.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isEqual.js","webpack:///./node_modules/react-smooth/node_modules/lodash/intersection.js","webpack:///./node_modules/react-smooth/node_modules/lodash/filter.js","webpack:///./node_modules/react-resize-detector/lib/index.js","webpack:///./node_modules/lodash/flatMap.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/lodash/find.js","webpack:///./node_modules/lodash/throttle.js","webpack:///./node_modules/lodash/some.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/lodash/minBy.js","webpack:///./node_modules/lodash/maxBy.js","webpack:///./app/javascript/packs/application.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./app/assets/javascripts/serviceworker-companion.js","webpack:///./app/assets/images sync ^\\.\\/.*$","webpack:///./app/javascript/components sync ^\\.\\/.*$","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/react-select/node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_copyObject.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_assignValue.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_getRawTag.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_objectToString.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_isMasked.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_coreJsData.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_toSource.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_getValue.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_createAssigner.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseRest.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_overRest.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_apply.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_setToString.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/constant.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_shortOut.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/keys.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseTimes.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isArguments.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isArray.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isBuffer.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/stubFalse.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/isTypedArray.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseUnary.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_baseKeys.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_isPrototype.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_overArg.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_MapCache.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_Hash.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_hashClear.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_hashDelete.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_hashGet.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_hashHas.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_hashSet.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_ListCache.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_Map.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_isKeyable.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/antd-mobile/node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/antd-mobile/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/ahooks/node_modules/lodash/debounce.js","webpack:///./node_modules/ahooks/node_modules/lodash/now.js","webpack:///./node_modules/ahooks/node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/ahooks/node_modules/lodash/toNumber.js","webpack:///./node_modules/ahooks/node_modules/lodash/_baseTrim.js","webpack:///./node_modules/ahooks/node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/ahooks/node_modules/lodash/isSymbol.js","webpack:///./node_modules/ahooks/node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/ahooks/node_modules/lodash/_getRawTag.js","webpack:///./node_modules/ahooks/node_modules/lodash/_objectToString.js","webpack:///./node_modules/ahooks/node_modules/lodash/isObjectLike.js","webpack:///./node_modules/intersection-observer/intersection-observer.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/rc-util/lib/hooks/useEvent.js","webpack:///./node_modules/rc-util/node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/rc-util/lib/hooks/useLayoutEffect.js","webpack:///./node_modules/rc-util/lib/Dom/canUseDom.js","webpack:///./node_modules/rc-util/lib/hooks/useState.js","webpack:///./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getRawTag.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_objectToString.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stringToPath.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/i18n-js/node_modules/lodash/memoize.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Hash.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hashClear.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isMasked.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_coreJsData.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getValue.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hashDelete.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hashGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hashHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hashSet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isKeyable.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseToString.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseMerge.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stackClear.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stackDelete.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stackGet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stackHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stackSet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_copyArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseCreate.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/stubFalse.js","webpack:///./node_modules/i18n-js/node_modules/lodash/isPlainObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/i18n-js/node_modules/lodash/toPlainObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_copyObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseTimes.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createAssigner.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_overRest.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_apply.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_setToString.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/i18n-js/node_modules/lodash/constant.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_shortOut.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseUniq.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createSet.js","webpack:///./node_modules/i18n-js/node_modules/lodash/noop.js","webpack:///./node_modules/i18n-js/node_modules/lodash/capitalize.js","webpack:///./node_modules/i18n-js/node_modules/lodash/upperFirst.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createCaseFirst.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_castSlice.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseSlice.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_stringToArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createCompounder.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/i18n-js/node_modules/lodash/deburr.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/i18n-js/node_modules/lodash/words.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_asciiWords.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_unicodeWords.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseRepeat.js","webpack:///./node_modules/i18n-js/node_modules/lodash/toInteger.js","webpack:///./node_modules/i18n-js/node_modules/lodash/toNumber.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseTrim.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseFlatten.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_isFlattenable.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseMatches.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arraySome.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_equalByTag.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_mapToArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_equalObjects.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getSymbols.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/i18n-js/node_modules/lodash/stubArray.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseKeys.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getTag.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_DataView.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_Promise.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_WeakMap.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_getMatchData.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/i18n-js/node_modules/lodash/hasIn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/property.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseProperty.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseMap.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseEach.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_compareAscending.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseZipObject.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_createRange.js","webpack:///./node_modules/i18n-js/node_modules/lodash/_baseRange.js","webpack:///./node_modules/core-js/es6/math.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/es6/number.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/_baseUniq.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/lodash/_createSet.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stackClear.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stackDelete.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stackGet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stackHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stackSet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getRawTag.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_objectToString.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isMasked.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_coreJsData.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getValue.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Hash.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hashClear.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hashDelete.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hashGet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hashHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hashSet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isKeyable.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arraySome.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_equalByTag.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_mapToArray.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_setToArray.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_equalObjects.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayPush.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getSymbols.js","webpack:///./node_modules/react-smooth/node_modules/lodash/stubArray.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseTimes.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/react-smooth/node_modules/lodash/stubFalse.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseKeys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_isPrototype.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_overArg.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getTag.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_DataView.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Promise.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_Set.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_WeakMap.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIntersection.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseRest.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_overRest.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_apply.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_setToString.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/react-smooth/node_modules/lodash/constant.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_defineProperty.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_shortOut.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_castArrayLikeObject.js","webpack:///./node_modules/react-smooth/node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseFilter.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseEach.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseFor.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseMatches.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_getMatchData.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/react-smooth/node_modules/lodash/get.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_stringToPath.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/react-smooth/node_modules/lodash/memoize.js","webpack:///./node_modules/react-smooth/node_modules/lodash/toString.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseToString.js","webpack:///./node_modules/react-smooth/node_modules/lodash/hasIn.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_hasPath.js","webpack:///./node_modules/react-smooth/node_modules/lodash/property.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_baseProperty.js","webpack:///./node_modules/react-smooth/node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/react-smooth/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/react-smooth/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/react-smooth/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/react-smooth/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/react-smooth/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/lodash/_isFlattenable.js","webpack:///./node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/lodash/_compareAscending.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/react-resize-detector/lib/components/ResizeDetector.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/lodash.throttle/index.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/recharts-scale/lib/getNiceTickValues.js","webpack:///./node_modules/recharts-scale/lib/util/arithmetic.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/reduce-css-calc/node_modules/balanced-match/index.js","webpack:///./node_modules/reduce-function-call/index.js","webpack:///./node_modules/balanced-match/index.js","webpack:///./node_modules/math-expression-evaluator/src/formula_evaluator.js","webpack:///./node_modules/math-expression-evaluator/src/postfix_evaluator.js","webpack:///./node_modules/math-expression-evaluator/src/postfix.js","webpack:///./node_modules/math-expression-evaluator/src/lexer.js","webpack:///./node_modules/math-expression-evaluator/src/math_function.js","webpack:///./node_modules/lodash/_createRange.js","webpack:///./node_modules/lodash/_baseRange.js","webpack:///./node_modules/lodash/_arrayEvery.js","webpack:///./node_modules/lodash/_baseEvery.js","webpack:///./node_modules/lodash/_createFind.js","webpack:///./node_modules/lodash/findIndex.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/_baseSome.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/@rehooks/local-storage/lib/use-localstorage.js","webpack:///./node_modules/react_ujs/react_ujs/index.js","webpack:///./node_modules/react-dom/server.browser.js","webpack:///./node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/detect.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/native.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/pjax.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/turbolinks.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/turbolinksClassicDeprecated.js","webpack:///./node_modules/react_ujs/react_ujs/src/events/turbolinksClassic.js","webpack:///./node_modules/react_ujs/react_ujs/src/getConstructor/fromRequireContextWithGlobalFallback.js","webpack:///./node_modules/react_ujs/react_ujs/src/getConstructor/fromRequireContext.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","iterator","from","_iterableToArray","minLen","toString","slice","constructor","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","length","arr2","updateQueue","makeQueue","raf","fn","schedule","writeQueue","write","onStartQueue","onStart","onFrameQueue","onFrame","onFinishQueue","onFinish","timeouts","setTimeout","handler","ms","time","now","timeout","cancel","findIndex","splice","pendingCount","findTimeout","sync","batchedUpdates","throttle","lastArgs","queuedFn","apply","throttled","_len","arguments","args","_key","nativeRaf","window","requestAnimationFrame","use","impl","performance","Date","console","error","frameLoop","advance","warn","ts","queue","add","loop","prevTs","count","eachSafely","flush","Math","min","next","Set","current","has","arg","size","values","each","forEach","e","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","done","push","err","_iterableToArrayLimit","_nonIterableRest","_classCallCheck","instance","Constructor","noop","defineHidden","obj","writable","configurable","is","a","fun","str","num","und","isEqual","b","eachProp","ctx","concat","toArray","items","clear","createStringInterpolator$1","to","flushCalls","isSSR","navigator","userAgent","colors$1","skipAnimation","willAdvance","globals","colors","createStringInterpolator","freeze","__proto__","assign","startQueue","currentFrame","prevFrame","priority","start","animation","flushStartQueue","startSafely","sort","prevIndex","indexOf","startUnsafely","includes","index","other","dt","nextFrame","idle","clamp","max","v","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","NUMBER","_len2","parts","_key2","join","rgb","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","h","g","round","parse255","_int","parseInt","parse360","parseFloat","parse1","parsePercentage","_int3","colorToRgba","input","color","match","int32Color","exec","createInterpolator","range","output","extrapolate","config","outputRange","inputRange","extrapolateLeft","extrapolateRight","easing","findRange","inputMin","inputMax","outputMin","outputMax","map","result","Infinity","interpolate","c1","c2","c4","PI","c5","bounceOut","x","n1","d1","easings","linear","easeInQuad","easeOutQuad","easeInOutQuad","pow","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","steps","_steps","direction","progress","expanded","rounded","floor","ceil","_extends","target","source","this","$get","$observers","hasFluidValue","Boolean","getFluidValue","getFluidObservers","callFluidObservers","event","observers","observer","eventObserved","callFluidObserver","FluidValue","Error","setFluidGetter","setHidden","addFluidObserver","observerAdded","removeFluidObserver","observerRemoved","namedColorRegex","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","_parseCSSVariable2","parseCSSVariable","token","fallback","getComputedStyle","document","documentElement","getPropertyValue","trim","startsWith","_value","_match","rgbaRound","_","p1","p2","p3","p4","keys","replace","keyframes","Number","interpolators","_output$find","missingUnit","find","prefix","once","func","called","warnInterpolate","deprecateInterpolate","warnDirectCall","deprecateDirectCall","isAnimatedString","resizeHandlers","WeakMap","handleObservation","entries","_ref","_resizeHandlers$get","contentRect","resizeElement","ResizeObserver","elementHandlers","set","observe","unobserve","cleanupWindowResizeHandler","listeners","resizeWindow","callback","handleResize","width","innerWidth","height","innerHeight","addEventListener","removeEventListener","onResize","_ref2","_ref2$container","container","_container","SCROLL_KEYS","position","y","ScrollHandler","_this","info","createAxis","scrollLength","updateAxis","axisName","axis","_SCROLL_KEYS$axisName","update","sendEvent","scrollListeners","resizeListeners","onScrollHandlers","getTarget","_ref3","_ref3$container","containerHandlers","containerHandler","listener","_containerHandlers","passive","animateScroll","_resizeListeners$get","useConstant","init","ref","useIsomorphicLayoutEffect","useForceUpdate","isMounted","random","useMemoOne","getResult","inputs","initial","committed","prevCache","cache","prev","areInputsEqual","effect","emptyDeps","usePrev","prevRef","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","asyncGeneratorStep","gen","resolve","reject","_next","_throw","Promise","then","_marked","mark","filterIterable","_marked2","concatIterables","_wrapNativeSuper","Class","_cache","Map","Function","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","_createForOfIteratorHelper","allowArrayLike","it","F","_e2","f","normalCompletion","didErr","step","_e3","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_typeof2","_inherits","subClass","superClass","setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","getPrototypeOf","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","Recoil_err","message","stack","Recoil_isPromise","Recoil_nullthrows","_defineProperty","BaseLoadable","state","contents","_map","ValueLoadable","_BaseLoadable","_super","_map2","_this2","loadableWithPromise","isLoadable","loadableWithValue","loadableWithError","ErrorLoadable","_BaseLoadable2","_super2","_this3","LoadingLoadable","_BaseLoadable3","_super3","promise","_this4","_map3","_this5","nextLoadable","loadableLoading","loadableAll","every","some","all","loadableAllArray","getOwnPropertyNames","outputs","reduce","out","idx","LoadableStaticInterface","of","_error","loading","Recoil_Loadable","RecoilLoadable","Recoil_Loadable_1","Recoil_Loadable_2","Recoil_Loadable_3","Recoil_Loadable_4","Recoil_Loadable_5","Recoil_Loadable_6","Recoil_Loadable_7","Recoil_Loadable$1","gks","Recoil_gkx_OSS","gk","_gks$get","setPass","setFail","Recoil_gkx","_createMutableSource","_useMutableSource","_useSyncExternalStore","Recoil_recoverableViolation","_projectName","createMutableSource","unstable_createMutableSource","useMutableSource","unstable_useMutableSource","useSyncExternalStore","unstable_useSyncExternalStore","ReactRendererVersionMismatchWarnOnce","Recoil_ReactMode","currentRendererSupportsUseSyncExternalStore","_ReactCurrentDispatch","_react$__SECRET_INTER","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentOwner","isUseSyncExternalStoreSupported","currentDispatcher","reactMode","early","concurrent","$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE","isFastRefreshEnabled","env","RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED","_process","_process$env$RECOIL_D","_process$env$RECOIL_D2","process","sanitizedValue","toLowerCase","applyProcessEnvFlagOverrides","Recoil_RecoilEnv","AbstractRecoilValue","newKey","RecoilState","_AbstractRecoilValue","_super4","RecoilValueReadOnly","_AbstractRecoilValue2","_super5","Recoil_RecoilValue","isRecoilValue","Recoil_RecoilValue_1","Recoil_RecoilValue_2","Recoil_RecoilValue_3","Recoil_RecoilValue_4","Recoil_RecoilValue$1","Recoil_expectationViolation","format","Recoil_mapIterable","iterable","_callee","_iterator","_step","wrap","_context","t0","finish","stop","DefaultValue","DEFAULT_VALUE","nodes","recoilValues","NodeMissingError","_Error","_super6","configDeletionHandlers","getConfigDeletionHandler","Recoil_Node","registerNode","node","checkForDuplicateAtomKey","recoilValue","getNode","getNodeMaybe","deleteNodeConfigIfPossible","_node$shouldDeleteCon","_getConfigDeletionHan","shouldDeleteConfigOnRelease","setConfigDeletionHandler","recoilValuesForKeys","Recoil_Queue","enqueueExecution","hamt_1","createCommonjsModule","_typeof","hamt","BUCKET_SIZE","MASK","MAX_INDEX_NODE","MIN_ARRAY_NODE","nothing","constant","hash","type","charCodeAt","hashFragment","shift","toBitmap","fromBitmap","bitmap","bit","arrayUpdate","mutate","at","arraySpliceOut","newLen","empty","__hamt_isEmpty","isEmptyNode","Leaf","edit","_modify","Leaf__modify","Collision","children","Collision__modify","IndexedNode","mask","IndexedNode__modify","ArrayNode","ArrayNode__modify","mergeLeaves","h1","h2","n2","subH1","subH2","canEditNode","keyEq","k","_v","list","child","_newValue","newValue","updateCollisionList","frag","indx","exists","canEdit","newChildren","subNodes","expand","arraySpliceIn","newChild","removed","elements","elem","pack","editable","root","_editable","_edit","_config","_root","_size","setTree","newRoot","newSize","tryGetHash","alt","tryGet","getHash","hasHash","defKeyCompare","make","isEmpty","modifyHash","NaN","modify","setHash","del","removeHash","deleteHash","remove","beginMutation","endMutation","_transient","appk","lazyVisitChildren","lazyVisit","rest","DONE","MapIterator","v0","visit","buildPairs","buildKeys","buildValues","fold","z","toVisit","pop","BuiltInMap","existing","persistentMap","HashArrayMappedTrieMap","_hamt","_step2","_iterator2","_ref4","Recoil_PersistentMap_1","Recoil_differenceSets","ret","_len3","setsWithValuesToRemove","_key3","_step3","_iterator3","FIRST","_step4","_iterator4","otherSet","Recoil_mapMap","mergeDepsIntoGraph","newDeps","graph","olderGraph","nodeDeps","nodeToNodeSubscriptions","oldDeps","_step5","_iterator5","_dep","_step6","_iterator6","dep","Recoil_Graph","deps","store","version","_storeState$nextTree","_storeState$previousT","_storeState$previousT2","_storeState$previousT3","storeState","getState","currentTree","nextTree","previousTree","getGraph","_storeState$nextTree2","nextVersion","nextTreeStateVersion","nextStoreID","nextComponentID","Recoil_Keys","persistentMap$1","getNextTreeStateVersion$1","makeEmptyTreeState","stateID","transactionMetadata","dirtyAtoms","atomValues","nonvalidatedAtoms","Recoil_State","makeEmptyStoreState","commitDepth","knownAtoms","knownSelectors","transactionSubscriptions","nodeTransactionSubscriptions","nodeToComponentSubscriptions","queuedComponentCallbacks_DEPRECATED","suspendedComponentResolvers","graphsByVersion","retention","referenceCounts","nodesRetainedByZone","retainablesToCheckForRelease","nodeCleanupFunctions","getNextTreeStateVersion","RetentionZone","Recoil_RetentionZone","Recoil_CopyOnWrite","predicate","_iterator7","_step7","_context2","Recoil_filterIterable","Recoil_lazyProxy","base","factories","prop","getNode$1","getNodeMaybe$1","recoilValuesForKeys$1","RetentionZone$1","setByAddingToSet$1","emptySet","ReadOnlyRecoilValueError","_Error2","_super7","initializeNodeIfNewToStore","treeState","trigger","retentionCleanup","nodeKey","retainedBy","addToZone","zone","_step8","_iterator8","deleteFromZone","_step9","_iterator9","initializeRetentionForNode","nodeCleanup","peekNodeLoadable","peek","getDownstreamNodes","visitedNodes","visitingNodes","_graph$nodeToNodeSubs","_step10","_iterator10","downstreamNode","Recoil_FunctionalCore","_state$nodeCleanupFun","_node$invalidate","invalidate","clone","nodeType","loadable","isActive","isSet","isModified","_graph$nodeDeps$get","subscribers","_storeState$nodeToCom","_storeState$nodeToCom2","components","_ref6","_invalidateMemoizedSnapshot","Recoil_SnapshotCache","_invalidateMemoizedSn","getDownstreamNodes$1","getNodeLoadable$1","setNodeValue$1","getNextComponentID$1","getNode$2","getNodeMaybe$2","DefaultValue$1","reactMode$1","AbstractRecoilValue$1","RecoilState$1","RecoilValueReadOnly$1","isRecoilValue$1","invalidateMemoizedSnapshot$1","applyAction","action","_step11","_ref9","valueOrUpdater","msg","valueFromValueOrUpdater","_iterator11","_ref11","writeLoadableToTreeState","_key5","_key6","unvalidatedValue","applyActionsToStore","actions","replaceState","_step12","newState","copyTreeState","_iterator12","invalidateDownstreams","queueOrPerformStateUpdate","batchStack","actionsByStore","_step14","_iterator14","_getNodeMaybe","_getNodeMaybe$invalid","setRecoilValue","Recoil_RecoilValueInterface","getRecoilValueAsLoadable","_ref8","setRecoilValueLoadable","markRecoilValueModified","setUnvalidatedRecoilValue","subscribeToRecoilValue","_ref16","componentDebugName","subID","release","releaseStoreState","subs","applyAtomValueWrites","writes","batchStart","_step13","_iterator13","_ref14","refreshRecoilValue","_node$clearCache","clearCache","Recoil_someSet","context","entry","cleanUpNode$1","deleteNodeConfigIfPossible$1","getNode$3","RetentionZone$2","emptySet$1","releaseRetainablesNowOnCurrentTree","retainables","_step15","_iterator15","_step17","_iterator17","_step16","releasableNodes","searchFromNodes","nonReleasableNodes","findReleasableNodesInner","_step18","releasableNodesFoundThisIteration","downstreams","doNotDescendInto1","doNotDescendInto2","answer","visited","_step21","_iterator21","getDownstreamNodesInTopologicalOrder","_iterator18","_storeState$retention","zonesThatCouldRetainNode","nodeChildren","_step19","parents","_iterator19","_step20","_node5","_iterator20","parent","findReleasableNodes","_iterator16","releaseNode","_step22","_iterator22","_storeState$retention2","_step23","_iterator23","_storeState$retention3","updateRetainCountToZero","retainable","scheduleOrPerformPossibleReleaseOfRetainable","Recoil_Retention","delta","_map$get","newCount","unstable_batchedUpdates","batchStart$1","batcher","Recoil_Batching","batchEnd","iters","_iterator24","_step24","_iterator25","_step25","val","_context3","t1","Recoil_concatIterables","Window","isReactNative","product","Recoil_Environment","isWindow","batchUpdates$1","initializeNode$1","peekNodeInfo$1","graph$1","getNextStoreID$1","DEFAULT_VALUE$1","recoilValues$1","recoilValuesForKeys$2","AbstractRecoilValue$2","getRecoilValueAsLoadable$1","setRecoilValue$1","setUnvalidatedRecoilValue$1","updateRetainCount$1","setInvalidateMemoizedSnapshot$1","getNextTreeStateVersion$2","makeEmptyStoreState$1","isSSR$1","memoizeOneWithArgsHashAndInvalidation$1","hashFunction","lastKey","lastResult","Snapshot","parentStoreID","_this6","checkRefCount_INTERNAL","_store","getLoadable","toPromise","opt","isInitialized","_ref17","_ref18","mapper","mutableSnapshot","MutableSnapshot","_ref19","_callee2","_context4","retain","autoRelease_INTERNAL","abrupt","_x","storeID","replacer","graphs","newGraph","subscribeToTransactions","addTransactionMetadata","_step26","_iterator26","_this7","_refCount","released","_release","_this8","cleanup","cloneStoreState","bumpVersion","_ref20","_memoizeOneWithArgsHa2","_store$getState$nextT","_store$getState$previ","String","memoizedCloneSnapshot","invalidateMemoizedSnapshot$2","_Snapshot","_super8","snapshot","batch","_this9","getStore_INTERNAL","getStoreID","recoilState","newValueOrUpdater","_batch","_step27","_iterator27","_ref23","Recoil_Snapshot","freshSnapshot","initializeState","cloneSnapshot","isRetained","Recoil_Snapshot_1","Recoil_Snapshot_2","Recoil_Snapshot_3","Recoil_Snapshot_4","Recoil_Snapshot$1","Recoil_unionSets","_len4","sets","_key7","_i2","_sets","_step28","_iterator28","useRef","Recoil_useRefInitOnce","initialValue","getNextTreeStateVersion$3","makeEmptyStoreState$2","cleanUpNode$2","getDownstreamNodes$2","initializeNode$2","setNodeValue$2","setUnvalidatedAtomValue_DEPRECATED$1","graph$2","cloneGraph$1","getNextStoreID$2","createMutableSource$1","reactMode$2","applyAtomValueWrites$1","releaseScheduledRetainablesNow$1","freshSnapshot$1","useCallback","useContext","useEffect","useMemo","useRef$1","useState","notInAContext","defaultStore","stateReplacerIsBeingExecuted","startNextTreeIfNeeded","AppContext","createContext","useStoreRef","MutableSourceContext","notifyComponents","_step29","_iterator29","comps","_step30","_iterator30","_ref26","_ref26$","sendEndOfBatchNotifications","_step31","_iterator31","_ref29","subscriptions","_step33","_iterator33","_ref34","subscription","_step32","_iterator32","_ref31","_subscription","cb","Batcher","_ref37","setNotifyBatcherOfChange","storeRef","setState","endBatch","nextID","RecoilRoot_INTERNAL","_ref38","storeStateRef","initializeState_DEPRECATED","storeProp","store_INTERNAL","id","_id2","metadata","_i3","_Object$keys","replaced","notifyBatcherOfChange","atom","_step34","writtenNodes","_iterator34","setUnvalidatedAtomValues","initialStoreState_DEPRECATED","initialStoreState","mutableSource","_step35","_iterator35","atomKey","_step36","_iterator36","createElement","Provider","Recoil_RecoilRoot","override","propsExceptOverride","ancestorStoreRef","Recoil_shallowArrayEqual","useEffect$1","useRef$2","Recoil_usePrevious","useStoreRef$1","SUSPENSE_TIMEOUT_MS$1","updateRetainCount$2","RetentionZone$3","useEffect$2","useRef$3","isSSR$2","Recoil_useRetain","toRetain","timeoutID","clearTimeout","_step37","_iterator37","_step38","_iterator38","_r","previousRetainables","_step39","_iterator39","_r3","_step40","_iterator40","_step41","_iterator41","_r2","useRetain_ACTUAL","Recoil_useComponentName","DEFAULT_VALUE$2","currentRendererSupportsUseSyncExternalStore$1","reactMode$3","useMutableSource$1","useSyncExternalStore$1","useRecoilMutableSource$1","useStoreRef$2","getRecoilValueAsLoadable$2","setRecoilValue$2","subscribeToRecoilValue$1","useCallback$1","useEffect$3","useMemo$1","useRef$4","useState$1","handleLoadable","useRecoilValueLoadable_SYNC_EXTERNAL_STORE","componentName","getSnapshot","memoizePreviousSnapshot","prevState","_prevState","_prevState2","nextState","getMemoizedSnapshot","subscribe","notify","useRecoilValueLoadable_MUTABLE_SOURCE","_storeState$nextTree3","getLoadableWithTesting","_storeState","newLoadable","prevLoadableRef","useRecoilValueLoadable_TRANSITION_SUPPORT","_storeState$nextTree4","updateState","_state","_useState$4","useRecoilValueLoadable_LEGACY","forceUpdate","_storeState$nextTree5","_prevLoadableRef$curr","_prevLoadableRef$curr2","useRecoilValueLoadable","TRANSITION_SUPPORT","SYNC_EXTERNAL_STORE","MUTABLE_SOURCE","LEGACY","useRecoilValue","useSetRecoilState","useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE","useRecoilValue_TRANSITION_SUPPORT_UNSTABLE","Recoil_Hooks","batchUpdates$3","DEFAULT_VALUE$3","getNode$4","useStoreRef$3","AbstractRecoilValue$4","setRecoilValueLoadable$1","SUSPENSE_TIMEOUT_MS$2","cloneSnapshot$1","useCallback$2","useEffect$4","useRef$5","useState$2","isSSR$3","useTransactionSubscription","gotoSnapshot","keysToUpdate","_i4","_arr2","_step44","_iterator44","_prev$atomValues$get","_next$atomValues$get","shouldRestoreFromSnapshots","getID","Recoil_SnapshotHooks","_useState$8","setSnapshot","previousSnapshot","releaseRef","_releaseRef$current","_releaseRef$current2","_releaseRef$current3","peekNodeInfo$2","useStoreRef$4","Recoil_useGetRecoilValueInfo","_ref42","reactMode$4","RecoilRoot$1","useStoreRef$5","useMemo$2","Recoil_useRecoilBridgeAcrossReactRoots","_ref43","loadableWithValue$1","initializeNode$3","DEFAULT_VALUE$4","getNode$5","copyTreeState$1","getRecoilValueAsLoadable$3","invalidateDownstreams$1","writeLoadableToTreeState$1","isAtom","TransactionInterfaceImpl","_this10","_changes","_treeState","_step45","_iterator45","_ref45","Recoil_AtomicUpdates_1","changeset","newTreeState_INTERNAL","Recoil_AtomicUpdates$1","atomicUpdater","Recoil_invariant","condition","atomicUpdater$1","batchUpdates$4","DEFAULT_VALUE$5","useStoreRef$6","refreshRecoilValue$1","setRecoilValue$3","cloneSnapshot$2","gotoSnapshot$1","useCallback$3","Sentinel","SENTINEL","recoilCallback","extraInterface","releaseSnapshot","_releaseSnapshot2","errMsg","callbackInterface","reset","refresh","transact_UNSTABLE","transaction","_releaseSnapshot","Recoil_useRecoilCallback","_len6","_key9","useStoreRef$7","refreshRecoilValue$2","useCallback$4","Recoil_useRecoilRefresher","atomicUpdater$2","useStoreRef$8","useMemo$3","Recoil_useRecoilTransaction","_len7","_key10","atomicUpdate","transactionInterface","Recoil_Wrapper_1","WrappedValue","Recoil_Wrapper$1","isFastRefreshEnabled$2","ChangedPathError","_Error3","_super9","Recoil_TreeCache_1","TreeCache","options","_options$onHit","_options$onSet","_options$mapNodeValue","_name","_numLeafs","_onHit","onHit","_onSet","onSet","_mapNodeValue","mapNodeValue","getNodeValue","handlers","_this$getLeafNode","getLeafNode","onNodeVisit","nodeValue","branches","route","_this11","addLeaf","_node2","_node3","_this$_root2","_handlers$onNodeVisit2","branchKey","_step46","_iterator46","_node","_handlers$onNodeVisit","_this$_root","_ref48","invalidCacheError","oldLeaf","leafNode","leaf","_node4","CHANGED_PATH_ERROR_MESSAGE","Recoil_TreeCache$1","Recoil_LRUCache_1","LRUCache","_options$mapKey","_maxSize","maxSize","_head","_tail","_keyMapper","mapKey","mappedKey","head","right","left","_maybeDeleteLRU","deleteLru","tail","Recoil_LRUCache$1","LRUCache$1","TreeCache$1","Recoil_treeCacheLRU","_ref50","_ref50$mapNodeValue","lruCache","lruNode","stringify","JSON","allowFunctions","_JSON$stringify","toJSON","_step47","_iterator47","_ref52","localeCompare","Recoil_stableStringify","TreeCache$2","defaultPolicy","equality","eviction","getValueMapper","getTreeCache","Recoil_treeCacheFromPolicy","_ref54","_ref54$equality","_ref54$eviction","_ref54$maxSize","valueMapper","executionID","Recoil_PerformanceTimings","_id","isLoadable$1","loadableWithError$1","loadableWithPromise$1","loadableWithValue$2","WrappedValue$1","getNodeLoadable$2","peekNodeLoadable$1","setNodeValue$3","saveDepsToStore$1","DEFAULT_VALUE$6","getConfigDeletionHandler$1","getNode$6","registerNode$1","isRecoilValue$3","markRecoilValueModified$1","retainedByOptionWithDefault$1","recoilCallback$1","startPerfBlock$1","Canceled","CANCELED","dependencyStack","waitingStores","getNewExecutionID","selector","cachePolicy","cachePolicy_UNSTABLE","discoveredDependencyNodeKeys","retainedBy_UNSTABLE","executionInfoMap","liveStoresCount","selectorIsLive","selectorInit","selectorShouldDeleteConfigOnRelease","resolveAsync","depValues","setCache","notifyStoresOfResolvedAsync","isLatestExecution","clearExecutionInfo","notifyWaitingStores","clearWaitlist","stores","_step48","_iterator48","waitingStore","markStoreWaitingForResolvedAsync","wrapPendingDependencyPromise","existingDeps","loadingDepsState","resolvedDep","loadingDepKey","loadingDepPromise","cachedLoadable","getLoadableFromCacheAndUpdateDeps","getExecutionInfo","executionInfo","getInProgressExecutionInfo","loadingLoadable","_evaluateSelectorGett2","evaluateSelectorGetter","updateDeps","_store$getState","_store$getState$curre","_store$getState2","_store$getState2$next","_store$getState3","_store$getState3$next","_step49","_iterator49","endPerfBlock","duringSynchronousExecution","duringAsynchronousExecution","finishEvaluation","resultIsError","getRecoilValue","_ref55","depKey","depLoadable","stateVersions","notifyStoresOfNewAsyncDep","getCallback","_len8","_key11","errorOrPromise","wrapResultPromise","errorOrDepPromise","depValuesDiscoveredSoFarDuringAsyncWork","updateExecutionInfoDepValues","_getExecutionInfo","depsAfterCacheLookup","getSelectorLoadableAndUpdateDeps","cachedVal","_inProgressExecutionI","inProgressExecutionInfo","newExecutionID","_evaluateSelectorGett4","newDepValues","setExecutionInfo","anyDepChanged","execDepValues","_step50","_iterator50","_ref61","execLoadable","_step51","_iterator51","_ref56","_ref58","execInfo","_getExecutionInfo2","_ref63","_ref64","depValuesToDepRoute","selectorPeek","_peekNodeLoadable","selectorGet","detectCircularDependencies","invalidateSelector","clearSelectorCache","_step52","_iterator52","syncSelectorSetFinished","_ref65","setRecoilState","setValue","dangerouslyAllowMutability","Recoil_selector","isLoadable$2","loadableWithError$2","loadableWithPromise$2","loadableWithValue$3","WrappedValue$2","peekNodeInfo$3","DEFAULT_VALUE$7","DefaultValue$2","getConfigDeletionHandler$2","registerNode$2","setConfigDeletionHandler$1","isRecoilValue$4","getRecoilValueAsLoadable$4","markRecoilValueModified$2","setRecoilValue$4","setRecoilValueLoadable$2","retainedByOptionWithDefault$2","unwrap","baseAtom","persistence","persistence_UNSTABLE","unwrapPromise","defaultLoadable","maybeFreezeValueOrPromise","cachedAnswerForUnvalidatedValue","cleanupEffectsByStore","valueOrPromise","peekAtom","_state$atomValues$get3","nonvalidatedValue","validatorResult","validator","validatedValueLoadable","initState","_options$effects","_store$getState$nextT3","effects","effects_UNSTABLE","_step53","isDuringInit","retValue","initValue","getPromise","getInfo_UNSTABLE","_store$getState$nextT4","isInitError","pendingSetSelf","setSelf","currentLoadable","currentValue","resetSelf","_cleanupEffectsByStor2","currentStore","_currentTree$atomValu","_currentStore$getStat","_previousTree$atomVal","_pendingSetSelf","_pendingSetSelf2","_pendingSetSelf3","oldLoadable","oldValue","_iterator53","_cleanupEffectsByStor3","parentStoreID_UNSTABLE","_store$getState$nextT5","initLoadable","wrappedPromise","_state$atomValues$get","_store$getState$nextT2","_state$atomValues$get2","wrapPendingPromise","_cleanupEffectsByStor","backButton","restOptions","optionsDefault","storedValue","sel","_ref66","baseValue","_get","_ref67","_set","atomWithFallback","Recoil_atom","Recoil_MapCache_1","MapCache","Recoil_MapCache$1","LRUCache$2","MapCache$1","defaultPolicy$1","getValueMapper$1","getCache","Recoil_cacheFromPolicy","_ref68","_ref68$equality","_ref68$eviction","_ref68$maxSize","setConfigDeletionHandler$2","Recoil_atomFamily","_options$cachePolicyF","_options$cachePolicyF2","atomCache","cachePolicyForParams_UNSTABLE","params","_stableStringify","cachedAtom","atomOptions","newAtom","setConfigDeletionHandler$3","nextIndex","Recoil_selectorFamily","selectorCache","cachedSelector","newSelector","myKey","myGet","callbacks","myCachePolicy","constantSelector","Recoil_constSelector","throwingSelector","Recoil_errorSelector","Recoil_readOnlySelector","loadableWithError$3","loadableWithPromise$3","loadableWithValue$4","concurrentRequests","_step54","results","fill","exceptions","_iterator54","_ref70","isError","exp","unwrapDependencies","dependencies","wrapResults","wrapLoadables","exception","Recoil_WaitFor","waitForNone","_ref72","_concurrentRequests2","waitForAny","_ref73","_concurrentRequests4","_step55","_iterator55","_loop","_ref74","_ref75","waitForAll","_ref76","_concurrentRequests6","exceptionResults","syncResults","waitForAllSettled","_ref77","_concurrentRequests8","noWait","dependency","_ref78","DefaultValue$3","RecoilRoot$2","useRecoilStoreID$1","isRecoilValue$5","retentionZone$1","freshSnapshot$2","Recoil_index","RecoilEnv","RecoilRoot","useRecoilStoreID","useRecoilBridgeAcrossReactRoots_UNSTABLE","atomFamily","selectorFamily","constSelector","errorSelector","readOnlySelector","useRecoilState","useRecoilStateLoadable","useResetRecoilState","useGetRecoilValueInfo_UNSTABLE","useRecoilRefresher_UNSTABLE","useRecoilState_TRANSITION_SUPPORT_UNSTABLE","useRecoilCallback","useRecoilTransaction_UNSTABLE","useGotoRecoilSnapshot","useRecoilSnapshot","useRecoilTransactionObserver_UNSTABLE","snapshot_UNSTABLE","useRetain","retentionZone","Recoil_index_5","Recoil_index_8","Recoil_index_9","Recoil_index_20","Recoil_index_31","workPropertiesState","default","workPropertiesWithCascadeState","workContentsState","workContentsWithCascadeState","workDetailsState","departmentsState","formTypeCMetaDataState","dailyreportState","date","useDRDispatch","setDate","canUseDom","withNativeProps","element","className","style","tabIndex","cloneElement","__awaiter","thisArg","_arguments","P","generator","fulfilled","rejected","mergeProps","customizer","objValue","srcValue","colorRecord","primary","_a","viewBox","verticalAlign","stroke","strokeWidth","fillRule","transform","rx","attributeName","dur","begin","repeatCount","keyTimes","block","loadingIcon","shape","_classNames","_useState2","innerLoading","setInnerLoading","nativeButtonRef","disabled","onClick","onMouseDown","onMouseUp","onTouchStart","onTouchEnd","loadingText","unmountedRef","defaultRoot","overflowStylePatterns","isElement","supportsPassive","opts","totalLockCount","useLockScroll","rootRef","shouldLock","startX","startY","deltaX","deltaY","offsetX","offsetY","touch","move","touches","clientX","clientY","abs","isVertical","isHorizontal","onTouchMove","el","body","_window$getComputedSt","overflowY","scrollHeight","clientHeight","parentNode","getScrollParent","scrollableParent","parentElement","getScrollableElement","preventDefault","offsetHeight","scrollTop","status","cancelable","classList","renderToContainer","getContainer","resolveContainer","typeTemplate","defaultConfigRef","locale","common","confirm","Calendar","markItems","renderYearAndMonth","year","month","Cascader","placeholder","Dialog","ok","DatePicker","tillNow","ErrorBlock","title","description","busy","disconnected","Form","required","optional","defaultValidateMessages","whitespace","parse","invalid","types","string","method","array","number","integer","regexp","email","url","hex","pattern","mismatch","ImageUploader","uploading","upload","InfiniteScroll","noMore","failedToLoad","retry","Input","Mask","Modal","PasscodeInput","PullToRefresh","pulling","canRelease","complete","SearchBar","Slider","Stepper","decrease","increase","Switch","getDefaultConfig","ConfigContext","useConfig","ShouldRender","useShouldRender","active","forceRender","destroyOnClose","check","initializedRef","initialized","eventToPropRecord","withStopPropagation","events","_b","stopPropagation","opacityRecord","thin","thick","visible","opacity","disableBodyScroll","background","setActive","precision","mass","tension","friction","onRest","afterShow","afterClose","div","display","currentTarget","onMaskClick","role","xmlns","xmlnsXlink","defaultPopupBaseProps","closeOnMaskClick","showCloseButton","useInnerVisible","outerVisible","innerVisible","setInnerVisible","bodyCls","bodyClassName","percent","maskVisible","onClose","maskClassName","maskStyle","bodyStyle","isFunction","fnRef","memoizedFn","usePropsValue","defaultValue","onChange","stateRef","forceTrigger","nextValue","bound","wait","run","hook","useIsomorphicUpdateLayoutEffect","traverseReactNode","handle","Children","activeLineMode","stretch","attachPropertiesToComponent","component","properties","tabListContainerRef","activeLineRef","keyToIndexRecord","firstActiveKey","panes","isValidElement","targetRef","_usePropsValue2","activeKey","defaultActiveKey","setActiveKey","_useSpring2","_useSpring2$","api","_useSpring4","scrollLeft","scrollApi","_useSpring6","leftMaskOpacity","rightMaskOpacity","_useSpring6$","maskApi","animate","immediate","activeIndex","activeLine","activeTabWrapper","item","activeTab","activeTabLeft","offsetLeft","activeTabWidth","offsetWidth","activeTabWrapperLeft","activeTabWrapperWidth","containerWidth","containerScrollWidth","scrollWidth","containerScrollLeft","activeLineWidth","maxScrollDistance","nextScrollLeft","isAnimating","animationFrame","cancelAnimationFrame","disconnect","MutationObserver","useMutationEffect","subtree","childList","characterData","updateMask","showLeftMask","showRightMask","trailing","leading","onScroll","pane","_classNames2","Tab","isNodeWithContent","nativeElementRef","header","Item","clickable","arrow","content","extra","CheckListContext","multiple","activeIcon","readOnly","uncheck","useCascaderValueExtend","generateItems","currentOptions","option","generateIsLeaf","optionSkeleton","animated","defaultSkeletonParagraphProps","lineCount","Title","Paragraph","generateIntArray","generateValueExtend","tabActiveIndex","setTabActiveIndex","useUpdateEffect","onTabsChange","levels","reachedEnd","selected","level","label","selectValue","depth","onItemSelect","confirmText","cancelText","setVisible","toggle","open","close","_usePropsValue4","onConfirm","innerValue","setInnerValue","cascaderElement","onCancel","ext","onSelect","popupElement","Fragment","createRoot","fullClone","reactRender","render","unmountComponentAtNode","split","toggleWarning","skip","usingClientEntryPoint","MARK","concurrentRender","legacyRender","unmount","concurrentUnmount","legacyUnmount","renderToBody","appendChild","removeChild","prompt","extend","innerRef","shouldRender","inner","panels","accordion","activeKeyList","panel","Panel","__rest","parentConfig","onAction","bold","danger","text","toCSSLength","getTargetElement","defaultElement","depsAreSame","useEffectType","hasInitRef","lastElementRef","lastDepsRef","unLoadRef","els","_useState4","ratio","setRatio","IntersectionObserver","intersectionRatio","isIntersecting","rootMargin","threshold","inViewport","onActive","fit","lazy","draggable","loaded","setLoaded","failed","setFailed","src","srcSet","_useState6","setInitialized","onContainerClick","img","onLoad","onError","objectFit","crossOrigin","decoding","referrerPolicy","sizes","useMap","renderInner","scale","pointerEvents","closeOnAction","image","cls","row","_c","renderImperatively","forwardRef","closedRef","elementToRender","setElementToRender","keyRef","wrapperRef","createRef","closeFnSet","show","alert","cx","cy","ry","imageStyle","align","justify","_toPropertyKey","hint","prim","toPrimitive","res","supportBigInt","BigInt","trimNumber","numStr","negative","trimStr","splitNumber","integerStr","decimalStr","negativeStr","fullStr","isE","isNaN","getNumberPrecision","decimalMatch","validateNumber","num2str","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","toFixed","NumberDecimal","origin","toNumber","isInvalidate","maxPrecision","negate","safe","BigIntDecimal","nan","mergedValue","trimRet","numbers","decimal","decimalLen","padStart","decimalLength","getMark","getIntegerStr","getDecimalStr","padEnd","offset","maxDecimalLength","_trimNumber","alignDecimal","hydrateValueStr","getMiniDecimal","onlyShowClearWhenFocus","hasFocus","setHasFocus","compositionStartRef","nativeInputRef","focus","blur","enterKeyHint","setAttribute","removeAttribute","shouldShowClear","clearable","onFocus","onBlur","maxLength","minLength","autoComplete","autoFocus","inputMode","autoCapitalize","autoCorrect","onKeyDown","onEnterPress","code","keyCode","onKeyUp","onCompositionStart","onCompositionEnd","onClear","allowEmpty","_props$defaultValue","_onChange","inputReadOnly","digits","stringMode","formatter","parser","fixedValue","separatorStr","cutOnly","_trimNumber2","precisionDecimalStr","numberWithoutDecimal","advancedNum","advancedDecimal","repeat","getValueAsType","formatValue","_useMergedState2","setMergedValue","inputValue","setInputValue","setValueWithCheck","minDecimal","lessEquals","maxDecimal","handleInputChange","valueStr","parseValue","focused","setFocused","inputRef","triggerFocus","nextFocus","nativeElement","select","handleOffset","positive","stepValue","success","warning","reduced","isMotionReduced","motionReduced","onStoreChange","reverse","duration","circle","strokeDasharray","strokeDashoffset","strokeLinecap","maskClickable","icon","iconElement","top","currentHandler","currentTimeout","baseGetTag","isObject","tag","FormGroup","FormGroupToggle","jsx","argsLength","createElementArgArray","css","insertable","styles","anim","classnames","toAdd","merge","registered","registeredStyles","rawClassName","ClassNames","serialized","theme","ele","_objectSpread2","applyPrefixToName","classNames","clearValue","getStyles","getValue","hasValue","isMulti","isRtl","selectOption","selectProps","isDocumentElement","getScrollTop","pageYOffset","scrollTo","animatedScrollTo","change","increment","currentTime","scrollIntoView","menuEl","focusedEl","menuRect","getBoundingClientRect","focusedRect","overScroll","bottom","offsetTop","isTouchCapable","createEvent","isMobileDevice","passiveOptionAccessed","w","supportsPassiveEvents","getMenuPlacement","maxHeight","minHeight","placement","shouldScroll","isFixedPosition","spacing","scrollParent","excludeStaticParent","overflowRx","docEl","overflow","overflowX","defaultState","offsetParent","_menuEl$getBoundingCl","menuBottom","menuHeight","menuTop","containerTop","viewHeight","marginBottom","marginTop","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","_constrainedHeight","spaceAbove","controlHeight","_constrainedHeight2","coercePlacement","_ref2$theme","borderRadius","alignToControl","neutral0","menuGutter","PortalPlacementContext","getPortalPlacement","_Component","MenuPlacer","maxMenuHeight","getPlacement","_this$props","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","getUpdatedProps","placerProps","contextType","menuListCSS","baseUnit","paddingBottom","paddingTop","WebkitOverflowScrolling","noticeCSS","_ref5","_ref5$theme","neutral40","padding","textAlign","noOptionsMessageCSS","loadingMessageCSS","innerProps","defaultProps","_templateObject","menuPortalCSS","rect","zIndex","_Component2","MenuPortal","_ref7","_this$props2","appendTo","controlElement","isFixed","getBoundingClientObj","scrollDistance","menuWrapper","containerCSS","isDisabled","valueContainerCSS","alignItems","flex","flexWrap","indicatorsContainerCSS","alignSelf","flexShrink","strings","raw","focusable","baseCSS","isFocused","_ref3$theme","neutral60","neutral20","transition","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","indicatorSeparatorCSS","_ref4$theme","backgroundColor","neutral10","loadingDotAnimations","loadingIndicatorCSS","fontSize","lineHeight","marginRight","delay","marginLeft","indicator","_ref$theme","neutral5","borderColor","borderStyle","borderWidth","boxShadow","cursor","justifyContent","outline","neutral30","groupCSS","groupHeadingCSS","fontWeight","paddingLeft","paddingRight","textTransform","inputCSS","margin","visibility","inputStyle","isHidden","border","multiValueCSS","minWidth","multiValueLabelCSS","cropWithEllipsis","textOverflow","whiteSpace","multiValueRemoveCSS","dangerLight","MultiValueContainer","MultiValueLabel","data","removeProps","Container","Label","Remove","emotionCx","optionCSS","isSelected","primary25","userSelect","WebkitTapHighlightColor","primary50","placeholderCSS","neutral50","css$1","maxWidth","ClearIndicator","Control","menuIsOpen","control","DropdownIndicator","DownChevron","CrossIcon","Group","Heading","headingProps","group","GroupHeading","_cleanCommonProps","IndicatorsContainer","indicators","IndicatorSeparator","LoadingIndicator","Menu","menu","MenuList","LoadingMessage","NoOptionsMessage","MultiValue","MultiValueRemove","Option","Placeholder","SelectContainer","SingleValue","ValueContainer","defaultComponents","hasOwn","classes","argType","formKind","workProperty","workContent","delimiter","dailyreportsConfigureState","projectSelect","defaultFilterConfig","workContentSelect","workDetailSelect","dailyreportsFilterOption","configure","projectFilterOption","createFilter","workContentFilterOption","workDetailFilterOption","employeeSelectFilterOptionState","employeeSelectFilterOption","createFilterConfig","acc","withoutUndefineValue","matchFrom","projectMatchFrom","workContentMatchFrom","workDetailMatchFrom","createDailyreportsConfigureStateWithDefault","workProperties","workPropertiesWithCascade","workContents","workContentsWithCascade","workDetails","departments","dailyReportDate","initializeThanksState","initializeFormTypeCState","dummyWorkProperty","breaktimeWorkContent","initializeFormTypeDState","SectionLayout","global","core","hide","redefine","$export","own","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","expProto","U","W","R","isValid","works","work","isValidWork","isTimePeriodValid","isNoOverlapValid","useDailyReportTypeAControl","worksState","newWorkState","newWork","setNewWork","setWorks","addEnable","setAddEnable","handleChange","handleAdd","workDetail","amount","startAt","endAt","includeRest","handleDelete","handleSubmit","useDailyReportTypeCControl","workingWorkState","workingWork","setWorkingWork","DateTime","setZone","toFormat","handleChangeStartAt","isValidWorkWithWorking","initNewWorkWithWorkingForm","handleClickBreaktime","handleWorkingDelete","updateWorks","useDailyReportTypeCWorkingEditDialogControl","formKindConfigure","workContentOptions","formRef","handleWorkingEdit","WorkFormTypeC","getWork","isNewWorkWithWorking","useDailyReportTypeCWorkEditDialogControl","handleWorkEdit","isWork","updatedWorks","Toast","useDailyReportTypeC","useDailyReport","initNewWork","useDailyReportPersist","DDD","DNDD","useLocalStorage","useDailyReportRepresentTypeCControl","handleChangeEndAt","useDailyReportRepresentationControl","selectedUsers","setSelectedUsers","handleChangePerson","useFetchUnsubmitUsers","users","useUsersWithUnsubmit","fetchUsers","isLoading","user","useDailyReportTypeDControl","quantity","handleQuantityChange","useDailyReportTypeDWorkEditDialogControl","WorkFormTypeD","useDailyReportTypeD","useDailyReportTypeDWorkingEditDialogControl","globalObject","BigNumber","isNumeric","mathceil","mathfloor","bignumberError","tooManyDigits","BASE","POWS_TEN","MAX","bitFloor","coeffToString","j","compare","xc","yc","intCheck","isOdd","toExponential","charAt","toFixedPoint","zs","configObject","convertBase","parseNumeric","random53bitInt","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","valueOf","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","groupSize","secondaryGroupSize","groupSeparator","decimalSeparator","fractionGroupSize","fractionGroupSeparator","suffix","ALPHABET","alphabetHasNormalDecimalDigits","alphabet","caseChanged","isNum","_isBigNumber","search","substring","DEBUG","toUpperCase","rm","c0","ne","maxOrMin","normalise","sd","ni","rd","pows10","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","crypto","getRandomValues","randomBytes","EXPONENTIAL_AT","RANGE","isBigNumber","maximum","minimum","dp","rand","Uint32Array","copy","sum","plus","toBaseOut","baseIn","baseOut","arrL","sign","callerIsToString","multiply","temp","xlo","xhi","carry","klo","khi","aL","bL","cmp","subtract","more","prod","prodL","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","absoluteValue","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","idiv","exponentiatedBy","half","isModExp","nIsBig","nIsNeg","nIsOdd","isInteger","mod","times","integerValue","isEqualTo","eq","isFinite","isGreaterThan","gt","isGreaterThanOrEqualTo","gte","isLessThan","lt","isLessThanOrEqualTo","lte","isNegative","isPositive","isZero","minus","xLTy","xe","ye","modulo","multipliedBy","xcL","ycL","ylo","yhi","zc","negated","shiftedBy","squareRoot","rep","g1","g2","intPart","fractionPart","isNeg","intDigits","substr","toFraction","md","d0","d2","n0","toPrecision","_excluded$2","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","prefixes","prefixKey","_excluded$1","domTransforms","pxTransforms","degTransforms","addUnit","unit","isValueIdentity","AnimatedStyle","_AnimatedObject","transforms","xyz","deg","FluidTransform","_FluidValue","identity","arg1","_this2$transforms$i2","_excluded","applyAnimatedValues","isFilterElement","nodeName","attributes","names","hasAttribute","textContent","setProperty","createAnimatedStyle","getComponentProps","nativeGetPrototypeOf","mathSign","idCounter","uniqueId","totalValue","validate","getAnyElementOfObject","interpolateNumber","numberA","numberB","ary","specifiedKey","specifiedValue","shallowEqual","PRESENTATION_ATTRIBUTES","any","alignmentBaseline","angle","baselineShift","clip","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","oneOf","dominantBaseline","enableBackground","oneOfType","floodColor","font","fontFamily","fontSizeAdjust","fontStretch","fontStyle","fontVariant","glyphOrientationHorizontal","glyphOrientationVertical","imageRendering","kerning","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","shapeRendering","stopColor","strokeLinejoin","textAnchor","textDecoration","textRendering","unicodeBidi","wordSpacing","writingMode","dx","dy","radius","EVENT_ATTRIBUTES","onMouseOver","onMouseMove","onMouseOut","onMouseEnter","onMouseLeave","onTouchCancel","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","getDisplayName","Comp","displayName","childType","findChildByType","getEventHandlerOfElement","originalHandler","newHandler","wrapCallback","getEventHandlerOfChild","_el$props","isSsr","SVG_TAGS","nextChild","prevChild","nextChildren","nextProps","prevChildren","prevProps","isChildrenEqual","renderMap","record","_renderMap$displayNam","others","svgView","layerClass","attrs","pi","atan2","tau","draw","moveTo","arc","lineTo","closePath","tan30","tan30_2","kr","kx","ky","sqrt3","x0","y0","x1","y1","x2","y2","tauEpsilon","Path","_x0","_y0","_x1","_y1","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","a0","a1","ccw","cw","da","SYMBOL_FACTORIES","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","RADIAN","_PureComponent","Symbols","sizeType","symbolFactory","symbol","buffer","calculateAreaSize","getPath","DefaultLegendContent","inactiveColor","inactive","payload","SIZE","iconSize","layout","itemStyle","svgStyle","finalFormatter","renderIcon","finalStyle","renderItems","defaultUniqBy","Legend","_getPrototypeOf2","boxWidth","boxHeight","chartWidth","updateBBox","_this$state","hPos","vPos","chartHeight","getBBox","_this$state2","onBBoxUpdate","wrapperNode","box","wrapperStyle","paylodUniqBy","outerStyle","getDefaultPosition","setRafTimeout","currTime","shouldUpdate","_toArray","createAnimateManager","shouldStop","setStyle","_style","_styles","curr","restStyles","_handleChange","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","param","mapObject","translateStyle","isTransition","camelName","styleVal","generatePrefixStyle","getTransitionVal","cubicBezierFactor","multyTime","pre","cubicBezier","derivativeCubicBezier","newParams","_easing$1$split$0$spl","_easing$1$split$0$spl2","curveX","curveY","derCurveX","rangeValue","bezier","_t","evalT","derVal","isStepper","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","stepper","currX","destX","currV","newV","newX","alpha","end","needContinue","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","velocity","cafId","calStepperVals","preVals","nextStepVals","_easing2","currStyle","Animate","handleStyleChange","changeStyle","canBegin","mounted","runAnimation","_this$props3","shouldReAnimate","isTriggered","manager","stopJSAnimation","_newState","unSubscribe","onAnimationEnd","onAnimationStart","startAnimation","configUpdate","_steps$","initialStyle","_steps$$duration","initialTime","sequence","nextItem","_nextItem$easing","nextProperties","preItem","runJSAnimation","newStyle","propsTo","runStepAnimation","_this$props4","onAnimationReStart","stateStyle","cloneContainer","_container$props","_container$props$styl","only","AnimateGroupChild","handleEnter","isAppearing","appearOptions","enterOptions","handleStyleActive","handleExit","leaveOptions","onEnter","onExit","parseTimeout","AnimateGroup","appear","enter","leave","DefaultTooltipContent","separator","itemSorter","finalItemStyle","formatted","_formatted","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","renderContent","CLS_PREFIX","dataKey","allowEscapeViewBox","coordinate","cursorStyle","isAnimationActive","animationEasing","animationDuration","filterNull","useTranslate3d","Tooltip","getTranslate","tooltipDimension","viewBoxDimension","restricted","unrestricted","translateX","translateY","finalPayload","hasPayload","ResponsiveContainer","updateDimensionsImmediate","getContainerSize","oldWidth","oldHeight","containerHeight","debounce","clientWidth","aspect","calculatedWidth","calculatedHeight","renderChart","handleWidth","handleHeight","Cell","propTypes","ascending","lo","hi","mid","ascendingBisect","bisector","bisectRight","bisect","e10","e5","e2","ticks","tickIncrement","power","log","LN10","tickStep","step0","step1","valueof","i0","value0","initRange","domain","initInterpolator","interpolator","proto","implicit","ordinal","unknown","band","bandwidth","ordinalRange","paddingInner","paddingOuter","rescale","rangeRound","pointish","factory","definition","Color","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","m1","m2","basis","v1","v2","v3","t2","t3","define","channels","displayable","formatHsl","brighter","darker","gamma","nogamma","exponential","rgbGamma","rgbSpline","spline","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","lastIndex","one","numberArray","normalize","clamper","bimap","r0","r1","polymap","transformer","untransform","piecewise","invert","u","continuous","re","formatSpecifier","specifier","FormatSpecifier","zero","comma","formatDecimalParts","coefficient","prefixExponent","exponent","toLocaleString","_p","formatRounded","grouping","thousands","currencyPrefix","currency","currencySuffix","numerals","formatNumerals","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","i1","formatTrim","formatPrefix","precisionPrefix","precisionRound","precisionFixed","linearish","tickFormat","nice","interval","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","E","log10","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","thresholds","invertExtent","quantiles","quantize","newInterval","floori","offseti","field","previous","setMonth","setHours","setFullYear","getFullYear","getMonth","weekday","getDate","getDay","getTimezoneOffset","sunday","monday","tuesday","wednesday","thursday","friday","saturday","getMilliseconds","getSeconds","getMinutes","getHours","getUTCSeconds","utcWeekday","setUTCDate","getUTCDate","getUTCDay","setUTCHours","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcDay","utcYear","setUTCMonth","setUTCFullYear","getUTCFullYear","localDate","H","M","L","utcDate","UTC","newDate","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","V","parseWeekNumberMonday","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","day","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newParse","week","X","utcParse","formatLocale","calendar","hour","minute","second","millisecond","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","tickIntervals","tickInterval","utcMonth","utcHour","setUTCMinutes","utcMinute","setUTCSeconds","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","series","s0","s1","stackValue","ErrorBar","dataPointFormatter","xAxis","yAxis","xMid","yMid","xMin","yMin","xMax","yMax","coordsTop","coordsMid","coordsBot","lowBound","highBound","_dataPointFormatter","errorVal","_errorVal","renderErrorBars","filterNil","flattenData","getMainColorOfGraphicItem","_item$props","legendData","formatedGraphicalItems","legendWidth","legendContent","legendItem","sectors","iconType","legendType","_item$props2","getWithHeight","axisType","errorBars","errorBarChild","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","getDomainOfItemsWithSameAxis","domains","isCategorialAxis","getCoordinatesOfGrid","hasMin","hasMax","isGrid","isAll","duplicateDomain","niceTicks","scaleContent","isCategorial","categoricalDomain","tickCount","defaultHandler","parentHandler","childHandler","customizedHandler","arg2","arg3","arg4","chartType","realScaleType","checkDomainOfScale","first","last","STACK_OFFSET_MAP","none","silhouette","wiggle","s2","si","sij0","s3","sk","stackItems","offsetType","dataKeys","oz","kz","sz","sij","ki","originalDomain","allowDecimals","scaleType","tickValues","_domain","bandSize","getDomainOfStackGroups","stackGroups","startIndex","endIndex","stackId","stackedData","MIN_VALUE_REG","MAX_VALUE_REG","specifiedDomain","dataDomain","allowDataOverflow","orderedTicks","cur","calculatedDomain","axisChild","radianToDegree","angleInRadian","polarToCartesian","getMaxRadius","getAngleOfPoint","point","anotherPoint","reverseFormatAngleOfSetor","startAngle","endAngle","startCnt","endCnt","inRangeOfSector","sector","_getAngleOfPoint","innerRadius","outerRadius","inRange","_formatAngleOfSector","formatAngleOfSector","formatAngle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","centerAngle","lineTangencyAngle","center","circleTangency","lineTangency","tempEndAngle","outerStartPoint","outerEndPoint","path","innerStartPoint","innerEndPoint","Sector","forceCornerRadius","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","_point","that","Basis","areaStart","_line","areaEnd","lineStart","lineEnd","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","BasisOpen","LinearClosed","Linear","slope3","h0","slope2","MonotoneX","MonotoneY","ReflectContext","Natural","controlPoints","_t0","_y","px","py","Step","defined","curve","line","defined0","area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveLinear","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","getX","getY","Curve","lineFunction","points","baseLine","connectNulls","curveFactory","formatPoints","formatBaseLine","areaPoints","pathRef","realPath","stringCache","widthCache","cacheCount","SPAN_STYLE","STYLE_LIST","getStyleString","styleString","cacheKey","measurementSpan","getElementById","measurementSpanStyle","styleKey","BREAKING_SPACES","Text","_props","getWordsWithoutCalculate","words","wordsByLines","getWordsByLines","updateWordsByLines","scaleToFit","needCalculate","wordWidths","wordsWithComputedWidth","word","spaceWidth","calculateWordsByLines","lineWidth","currentLine","newLine","verticalAnchor","capHeight","textProps","startDy","labelProps","labelAngle","clockWise","deltaAngle","startPoint","endPoint","xlinkHref","_props$className","isPolarLabel","positionAttrs","midAngle","_polarToCartesian","_polarToCartesian2","parseViewBox","renderCallByParent","parentProps","ckeckPropsLabel","parentViewBox","explicitChilren","implicitLabel","valueAccessor","LabelList","idProps","implicitLabelList","Pie","isAnimationFinished","cachePrevData","prevSectors","handleAnimationEnd","handleAnimationStart","animationId","labelLine","valueKey","pieProps","customLabelProps","customLabelLineProps","offsetRadius","labels","getTextAnchor","lineProps","realDataKey","renderLabelLineItem","renderLabelItem","activeShape","blendStroke","sectorOptions","isActiveIndex","sectorProps","renderSectorItem","animationBegin","stepData","curAngle","paddingAngle","angleIp","latest","interpolatorAngle","_latest","renderSectorsStatically","_this$props5","renderSectorsWithAnimation","_this$props6","renderSectors","renderLabels","minAngle","nameKey","parseDeltaAngle","getRealPieData","presentationProps","cells","cell","parseCoordinateOfPie","maxPieRadius","maxRadius","getComposedData","onItemMouseLeave","onItemMouseEnter","pieData","tooltipType","absDeltaAngle","realTotalAngle","tempStartAngle","middleRadius","tooltipPayload","tooltipPosition","Brush","handleDrag","leaveTimer","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleTouchMove","changedTouches","handleDragEnd","handleLeaveWrapper","leaveTimeOut","handleEnterSlideOrTraveller","isTextActive","handleLeaveSlideOrTraveller","handleSlideDragStart","slideMoveStartX","pageX","travellerDragStartHandlers","handleTravellerDragStart","endX","updateScale","middle","travellerWidth","updateId","scaleValues","gap","minIndex","getIndexInRange","maxIndex","tickFormatter","newIndex","getIndex","movingTravellerId","brushMoveStartX","_this$setState","prevValue","_this$props7","chartElement","compact","travellerX","_this$props8","lineY","_this$props9","_this$props10","_this$state3","getTextOfTick","_this$props11","alwaysShowText","_this$state4","isPanoramic","renderBackground","renderPanorama","renderSlide","renderTraveller","renderText","CartesianGrid","lineItem","horizontalPoints","horizontal","renderLineItem","verticalPoints","vertical","verticalFill","verticalPointsUpdated","unshift","colorIndex","horizontalFill","horizontalPointsUpdated","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","getRectangePath","ySign","xSign","newRadius","_newRadius","Rectangle","totalLength","getTotalLength","isUpdateAnimationActive","currWidth","currHeight","currY","Bar","prevData","baseProps","renderRectangle","interpolatorX","interpolatorY","interpolatorWidth","interpolatorHeight","_interpolatorHeight","renderRectanglesStatically","renderRectanglesWithAnimation","backgroundProps","errorBarItems","dataPoint","needClip","clipPathId","renderRectangles","renderErrorBar","xAxisId","yAxisId","minPointSize","barPosition","xAxisTicks","yAxisTicks","dataStartIndex","displayedData","pos","findPositionOfBar","numericAxis","stackedDomain","getBaseValueOfBar","rects","XAxis","bool","allowDuplicatedCategory","arrayOf","mirror","orientation","tick","axisLine","tickLine","minTickGap","tickSize","reversed","YAxis","Cross","Dot","CartesianAxis","getNumberIntervalTicks","getTicksStart","getTicksEnd","preserveEnd","sizeKey","unitSize","tailContent","tailSize","tailGap","tickCoord","isShow","restProps","viewBoxOld","restPropsOld","tx","ty","tickMargin","finalTickSize","needHeight","needWidth","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this$getTickLineCoor","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","renderTickItem","ticksGenerator","noTicksProps","renderAxisLine","renderTicks","ifOverflowMatches","alwaysShow","ifOverflow","rectWithPoints","ScaleHelper","bandAware","_offset","_offset2","EPS","LabeledScaleHelper","scales","coords","isInRange","ReferenceDot","isX","isY","getCoordinate","dotProps","renderDot","isFront","ReferenceLine","isFixedX","isFixedY","isSegment","_this$props$viewBox","yCoord","coord","xCoord","_orientation","_coord","_points","_points2","segment","fixedX","fixedY","endPoints","getEndPoints","_endPoints","_endPoints$","_endPoints$2","rectWithCoords","ReferenceArea","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","rangeMin","rangeMax","getRect","renderRect","axisId","specifiedTicks","lines","dots","areas","idKey","finalDomain","key1","key2","value1","value2","eventCenter","setMaxListeners","SYNC_EVENT","ORIENT_MAP","originCoordinate","chartName","GraphicalChild","_ref$eventType","eventType","axisComponents","formatAxisMap","CategoricalChartWrapper","handleLegendBBoxUpdate","legendInstance","dataEndIndex","updateStateOfAxisMapsOffsetAndStackGroups","handleReceiveSyncEvent","cId","chartId","syncId","uniqueChartId","activeTooltipIndex","chartX","chartY","tooltipTicks","validateChartX","validateChartY","activeLabel","activePayload","getTooltipContent","activeCoordinate","handleBrushChange","triggerSyncEvent","handleMouseEnter","mouse","getMouseInfo","isTooltipActive","triggeredAfterMouseMove","handleItemMouseEnter","activeItem","handleItemMouseLeave","handleMouseMove","persist","handleMouseLeave","handleOuterEvent","eventName","getReactEventByType","handleClick","handleMouseDown","handleMouseUp","handleTouchStart","handleTouchEnd","axesTicksGenerator","tooltipTicksGenerator","axisMap","orderedTooltipTicks","tooltipAxis","tooltipAxisBandSize","renderCursor","cursorComp","getCursorRectangle","_this$getCursorPoints","getCursorPoints","cursorProps","renderPolarAxis","axisOption","renderXAxis","axisObj","xAxisMap","renderAxis","renderYAxis","yAxisMap","renderGrid","renderPolarGrid","_this$state5","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","polarAngles","polarRadius","renderBrush","_this$state6","brushBottom","renderReferenceElement","_this$state7","_element$props","renderGraphicChild","filterFormatItem","graphicalItem","_this$state8","tooltipItem","isRange","_item$item$props","activeDot","activePoint","basePoint","renderActivePoints","childIndex","renderCustomized","createDefaultState","throttleDelay","numericAxisName","cateAxisName","dot","addListener","stackOffset","newUpdateId","removeListener","_ref5$axisType","AxisComp","graphicalItems","axisIdKey","axes","getAxisMapByAxes","getAxisMapByItems","Axis","_child$props","getDisplayedData","duplicate","errorBarsDomain","hasStack","rangeObj","_angle","_radius","html","pageY","calculateChartCoordinate","ownerDocument","clientTop","pageXOffset","clientLeft","_this$state9","xScale","yScale","xValue","yValue","_this$state10","unsortedTicks","before","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","calculateTooltipPos","getActiveCoordinate","_this$state11","_child$props2","currentState","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_this$constructor$get","getAxisNameByLayout","hasBar","sizeList","globalSize","_ref4$stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","cateAxisId","barItems","selfSize","cateId","stackList","formatedItems","_objectSpread5","childMaxBarSize","numericAxisId","_objectSpread4","cateAxis","cateTicks","itemIndex","_ref5$sizeList","realBarGap","useFull","fullBarSize","newRes","originalSize","componsedFn","_this$state12","halfSize","_this$state13","_cx","_cy","innerPoint","outerPoint","_this$state14","tooltipEvents","reverseStackOrder","_this$constructor$get2","_items","_item$props3","parentGroup","childGroup","getAxisMap","calculateOffset","cateAxisMap","ticksObj","getFormatItems","on","_maxListeners","_ref9$xAxisMap","_ref9$yAxisMap","brushItem","offsetH","offsetV","legendBox","legendHeight","legendProps","newOffset","emit","axisOptions","otherProps","legend","_this$state15","_ref10","_item$item$props2","renderActiveDot","_this$state$offset","Line","Area","Radar","RadialBar","Scatter","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","renderClipPath","parseEventsOfWrapper","renderLegend","renderTooltip","defaultShowTooltip","itemsData","itemData","ids","leftMirror","rightMirror","topMirror","bottomMirror","needSpace","_axis$padding","offsetKey","_parseScale","finalAxis","getPolygonPoints","Polygon","tickLineSize","axisLineType","angleAxisId","maxRadiusTick","extent","point0","point1","getTickValueCoord","getViewBox","radiusAxisId","_range2","receiver","_superPropBase","desc","$node","getAnimated","owner","setAnimated","getPayload","Animated","AnimatedValue","_Animated","elapsedTime","lastPosition","lastVelocity","durationProgress","AnimatedString","_AnimatedValue","_string","_toString","goal","TreeContext","AnimatedObject","_Animated2","_makePayload","_addToPayload","AnimatedArray","makeAnimated","getAnimatedType","withAnimated","Component","host","hasInstance","isReactComponent","givenProps","givenRef","instanceRef","updateRef","_getAnimatedState2","getAnimatedState","PropsObserver","observerRef","usedProps","createHost","_ref$applyAnimatedVal","_applyAnimatedValues","_ref$createAnimatedSt","_createAnimatedStyle","_ref$getComponentProp","_getComponentProps","hostConfig","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","jaJP","EmotionCacheContext","HTMLElement","CacheProvider","ThemeContext","typePropName","createEmotionProps","newProps","Emotion","cssProp","DailyReportArigatonaForm","dailyReportArigatona","selectedUserId","setSelectedUserId","department","selectedDepartmentId","setSelectedDepartmentId","useUsers","departmentId","ev","isUndefined","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","assignValue","deepMerge","SelectComponent","_class","_temp","defaultInputValue","defaultMenuIsOpen","StateManager","actionMeta","callProp","onInputChange","onMenuOpen","onMenuClose","getProp","webpackPolyfill","deprecate","paths","reactSelectStyle","primary75","neutral70","neutral90","candidate","conv","fromSQL","period","newPeriod","newStartAt","newEndAt","invalids","freeGlobal","freeSelf","baseMatches","baseMatchesProperty","defaultAriaLiveMessages","guidance","isSearchable","tabSelectsValue","_props$label","_props$focused","_props$label2","getArrayIndex","onFilter","resultsMessage","ariaSelection","focusedOption","focusedValue","focusableOptions","ariaLiveMessages","getOptionLabel","isOptionDisabled","screenReaderStatus","ariaLabel","ariaLive","messages","ariaSelected","removedValue","onChangeProps","ariaFocused","focusMsg","onFocusProps","ariaResults","resultsMsg","ariaGuidance","guidanceMsg","ariaContext","diacritics","letters","anyDiacritic","diacriticToBase","diacritic","stripDiacritics","memoizedStripDiacriticsForInput","trimString","defaultStringify","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","DummyInput","onExited","exit","emotion","STYLE_KEYS","LOCK_STYLES","boxSizing","preventTouchMove","allowTouchMove","preventInertiaScroll","totalScroll","currentScroll","isTouchDevice","maxTouchPoints","canUseDOM","activeScrollLocks","listenerOptions","capture","blurSelectInput","activeElement","ScrollManager","lockEnabled","_ref$captureEnabled","captureEnabled","setScrollCaptureTarget","isEnabled","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","isBottom","isTop","touchStart","scrollTarget","handleEventDelta","_scrollTarget$current","isDeltaPositive","availableScroll","shouldCancelScroll","cancelScroll","onWheel","startListening","notPassive","stopListening","useScrollCapture","setScrollLockTarget","_ref$accountForScroll","accountForScrollbars","originalStyles","addScrollLock","touchScrollTarget","targetStyle","currentPadding","adjustedPadding","removeScrollLock","useScrollLock","defaultStyles","clearIndicator","dropdownIndicator","groupHeading","indicatorsContainer","indicatorSeparator","loadingIndicator","loadingMessage","menuList","menuPortal","multiValue","multiValueLabel","multiValueRemove","noOptionsMessage","singleValue","valueContainer","defaultTheme","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","formatGroupLabel","getOptionValue","menuShouldBlockScroll","openMenuOnFocus","openMenuOnClick","pageSize","toCategorizedOption","_isOptionDisabled","_isOptionSelected","getOptionLabel$1","getOptionValue$1","buildCategorizedOptions","groupOrOption","groupOrOptionIndex","categorizedOptions","optionIndex","categorizedOption","isFocusable","buildFocusableOptionsFromCategorizedOptions","optionsAccumulator","_props$inputValue","shouldHideSelectedOptions","_filterOption","isOptionSelected","hideSelectedOptions","instanceId","Select","inputIsHidden","clearFocusValueOnUpdate","inputIsHiddenAfterUpdate","blockOptionHover","isComposing","commonProps","initialTouchX","initialTouchY","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","focusInput","blurInput","ariaOnChange","deselected","removeValue","newValueArray","removedValues","popValue","lastSelectedValue","classNamePrefix","custom","getElementId","getComponents","getCategorizedOptions","buildFocusableOptions","getFocusableOptions","onMenuMouseDown","button","onMenuMouseMove","onControlMouseDown","tagName","openMenu","onDropdownIndicatorMouseDown","onClearIndicatorMouseDown","contains","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","onInputFocus","onInputBlur","onOptionHover","isClearable","defaultPrevented","focusValue","shiftKey","focusOption","startListeningComposition","startListeningToTouch","stopListeningComposition","stopListeningToTouch","openAtIndex","selectedIndex","focusedIndex","getTheme","formatOptionLabel","inputId","form","ariaAttributes","spellCheck","_this$getComponents2","isOptionFocused","_this$getComponents5","_this$getComponents7","_this$props12","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","onHover","optionId","hasOptions","groupIndex","groupId","headingId","_message","menuPlacementProps","menuElement","_ref4$placerProps","scrollTargetRef","_this$props13","_this$getComponents8","_this$props14","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","newMenuOptionsState","nextSelectValue","lastFocusedIndex","getNextFocusedValue","lastFocusedOption","getNextFocusedOption","newInputIsHiddenState","_inheritsLoose","_createForOfIteratorHelperLoose","LuxonError","InvalidDateTimeError","_LuxonError","reason","toMessage","InvalidIntervalError","_LuxonError2","InvalidDurationError","_LuxonError3","ConflictingSpecificationError","_LuxonError4","InvalidUnitError","_LuxonError5","InvalidArgumentError","_LuxonError6","ZoneIsAbstractError","_LuxonError7","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","TIME_WITH_SHORT_OFFSET","timeZoneName","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","hourCycle","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","hasRelative","Intl","RelativeTimeFormat","bestBy","by","best","pair","integerBetween","thing","parseInteger","parseFloating","parseMillis","fraction","roundTo","towardZero","factor","trunc","isLeapYear","daysInYear","daysInMonth","modMonth","floorMod","objToLocalTS","weeksInWeekYear","weekYear","untruncateYear","parseZoneInfo","offsetFormat","timeZone","intlOpts","modified","parsed","DateTimeFormat","formatToParts","signedOffset","offHourStr","offMinuteStr","offHour","offMin","asNumber","numericValue","normalizeObject","normalizer","normalized","formatOffset","hours","minutes","RangeError","timeObject","pick","ianaRegex","monthsLong","monthsShort","monthsNarrow","weekdaysLong","weekdaysShort","weekdaysNarrow","weekdays","meridiems","erasLong","erasShort","erasNarrow","eras","stringifyTokens","splits","tokenToString","literal","_macroTokenToFormatOpts","D","DD","DDDD","tt","ttt","tttt","T","TT","TTT","TTTT","ff","fff","ffff","FF","FFF","FFFF","Formatter","formatOpts","loc","systemLoc","parseFormat","fmt","currentFull","bracketed","macroTokenToFormatOpts","_proto","formatWithSystemDefault","redefaultToSystem","dtFormatter","formatDateTime","formatDateTimeParts","resolvedOptions","forceSimple","padTo","numberFormatter","formatDateTimeFromString","knownEnglish","listingMode","useDateTimeFormatter","outputCalendar","extract","isOffsetFixed","allowZ","meridiem","meridiemForDateTime","standalone","monthForDateTime","weekdayForDateTime","era","eraForDateTime","offsetName","zoneName","weekNumber","quarter","maybeMacro","formatDurationFromString","lildur","tokenToField","tokens","realTokens","found","collapsed","shiftTo","mapped","Invalid","explanation","Zone","equals","otherZone","singleton$1","SystemZone","_Zone","dtfCache","typeToPos","ianaZoneCache","IANAZone","valid","isValidZone","resetCache","isValidSpecifier","dtf","hour12","filled","_formatted$i","partsOffset","fMonth","fDay","hackyOffset","adOrBc","asTS","over","singleton","FixedOffsetZone","fixed","utcInstance","InvalidZone","normalizeZone","defaultZone","lowered","throwOnInvalid","defaultLocale","defaultNumberingSystem","defaultOutputCalendar","Settings","resetCaches","Locale","numberingSystem","_excluded2","intlLFCache","intlDTCache","getCachedDTF","locString","intlNumCache","intlRelCache","sysLocaleCache","listStuff","defaultOK","englishFn","intlFn","PolyNumberFormatter","intl","otherOpts","useGrouping","minimumIntegerDigits","inf","NumberFormat","getCachedINF","PolyDateFormatter","isUniversal","gmtOffset","offsetZ","fromMillis","_proto2","toJSDate","PolyRelFormatter","isEnglish","rtf","_opts","cacheKeyOpts","getCachedRTF","_proto3","numeric","narrow","units","years","quarters","weeks","seconds","lastable","isDay","isInPast","fmtValue","singular","lilUnits","fmtUnit","formatRelativeTime","numbering","specifiedLocale","_parseLocaleString","localeStr","uIndex","smaller","_options","parseLocaleString","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","intlConfigString","weekdaysCache","monthsCache","meridiemCache","eraCache","fastNumbersCached","fromOpts","defaultToEN","fromObject","_proto4","isActuallyEn","hasNoWeirdness","alts","redefaultToEN","formatStr","utc","mapMonths","mapWeekdays","matching","fastNumbers","relFormatter","listFormatter","ListFormat","getCachedLF","combineRegexes","regexes","full","combineExtractors","extractors","ex","mergedVals","mergedZone","_ex","patterns","_patterns","_patterns$_i","regex","extractor","simpleParse","_key4","offsetRegex","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","extractISOWeekData","extractISOOrdinalData","sqlTimeRegex","sqlTimeExtensionRegex","extractISOTime","milliseconds","extractISOOffset","local","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","yearStr","monthStr","weekStr","dayStr","hourStr","minuteStr","secondStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","force","obsOffsets","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","fromStrings","weekdayStr","rfc2822","extractRFC2822","obsOffset","milOffset","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","extractISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","lowOrderMatrix","casualMatrix","accurateMatrix","daysInYearAccurate","daysInMonthAccurate","orderedUnits$1","reverseUnits","clone$1","conf","conversionAccuracy","Duration","convert","matrix","fromMap","fromUnit","toMap","toUnit","added","antiTrunc","accurate","isLuxonDuration","normalizeUnit","fromDurationLike","durationLike","isDuration","fromISO","parseISODuration","fromISOTime","parseISOTimeOnly","fmtOpts","toHuman","unitDisplay","listStyle","toObject","toISO","toISOTime","millis","toMillis","suppressMilliseconds","suppressSeconds","includePrefix","as","mapUnits","reconfigure","vals","normalizeValues","lastUnit","built","accumulated","ak","down","_Object$keys2","INVALID$1","validateStartEnd","Interval","isLuxonInterval","fromDateTimes","builtStart","friendlyDateTime","builtEnd","validateError","_split","startIsValid","endIsValid","_dur","isInterval","toDuration","startOf","diff","hasSame","isAfter","isBefore","splitAt","dateTimes","sorted","splitBy","divideEqually","numberOfParts","overlaps","abutsStart","abutsEnd","engulfs","intersection","union","intervals","_intervals$sort$reduc","sofar","_final","xor","_Array$prototype","currentCount","ends","difference","toISODate","dateFormat","_temp2","_ref3$separator","invalidReason","mapEndpoints","mapFn","Info","hasDST","isValidIANAZone","_ref$locale","_ref$numberingSystem","_ref$locObj","locObj","_ref$outputCalendar","monthsFormat","_ref2$locale","_ref2$numberingSystem","_ref2$locObj","_ref2$outputCalendar","_temp3","_ref3$locale","_ref3$numberingSystem","_ref3$locObj","weekdaysFormat","_temp4","_ref4$locale","_ref4$numberingSystem","_ref4$locObj","_temp5","_ref5$locale","_temp6","_ref6$locale","features","relative","dayDiff","earlier","later","utcDayStart","toUTC","keepLocalTime","_diff","_highOrderDiffs","lowestOrder","highWater","_differs","_differs$_i","differ","_cursor$plus","_cursor$plus2","highOrderDiffs","remainingMillis","lowerOrderUnits","_cursor$plus3","_Duration$fromMillis","numberingSystems","arab","arabext","bali","beng","deva","fullwide","gujr","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","latn","numberingSystemsUTF16","hanidecChars","digitRegex","append","intUnit","post","deser","_numberingSystemsUTF","parseDigits","spaceOrNBSP","fromCharCode","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","groups","simple","partTypeStyleToTokenVal","dayperiod","dayPeriod","dummyDateTimeCache","maybeExpandMacroToken","part","tokenForPart","explainFromTokens","expandMacroTokens","two","three","four","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","unitate","disqualifyingUnit","_buildRegex","buildRegex","regexString","matches","matchIndex","rawMatches","specificOffset","toField","dateTimeFromMatches","nonLeapLadder","leapLadder","unitOutOfRange","dayOfWeek","js","computeOrdinal","uncomputeOrdinal","table","month0","gregorianToWeek","gregObj","weekToGregorian","weekData","weekdayOfJan4","yearInDays","_uncomputeOrdinal","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","_uncomputeOrdinal2","hasInvalidGregorianData","validYear","validMonth","validDay","hasInvalidTimeData","validHour","validMinute","validSecond","validMillisecond","INVALID","unsupportedZone","possiblyCachedWeekData","inst","old","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","oPre","millisToAdd","_fixOffset","parseDataToDateTime","parsedZone","interpretationZone","toTechFormat","_toISODate","extended","longFormat","_toISOTime","includeOffset","extendedZone","ianaName","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedUnits","orderedWeekUnits","orderedOrdinalUnits","weeknumber","weeksnumber","weeknumbers","weekyear","weekyears","quickDT","tsNow","_objToTS","diffRelative","calendary","lastOpts","argList","ot","_zone","isLuxonDateTime","_lastOpts","_lastOpts2","fromJSDate","zoneToUse","fromSeconds","offsetProvis","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","defaultValues","useWeekData","objNow","foundFirst","validWeek","validWeekday","hasInvalidWeekData","validOrdinal","hasInvalidOrdinalData","_objToTS2","_parseISODate","parseISODate","fromRFC2822","_parseRFC2822Date","preprocessRFC2822","parseRFC2822Date","fromHTTP","_parseHTTPDate","parseHTTPDate","fromFormat","_opts$locale","_opts$numberingSystem","_parseFromTokens","_explainFromTokens","parseFromTokens","fromString","_parseSQL","parseSQL","isDateTime","resolvedLocaleOptions","_Formatter$create$res","toLocal","_ref2$keepLocalTime","_ref2$keepCalendarTim","keepCalendarTime","newTS","offsetGuess","setLocale","mixed","settingWeekStuff","_objToTS4","normalizedUnit","endOf","_this$plus","toLocaleParts","_ref4$format","_ref4$suppressSeconds","_ref4$suppressMillise","_ref4$includeOffset","_ref4$extendedZone","_ref5$format","toISOWeekDate","_ref6$suppressMillise","_ref6$suppressSeconds","_ref6$includeOffset","_ref6$includePrefix","_ref6$extendedZone","_ref6$format","toRFC2822","toHTTP","toSQLDate","toSQLTime","_ref7$includeOffset","_ref7$includeZone","includeZone","_ref7$includeOffsetSp","includeOffsetSpace","toSQL","toSeconds","toUnixInteger","toBSON","includeConfig","otherDateTime","durOpts","otherIsLater","diffed","diffNow","until","inputMs","adjustedToZone","toRelative","toRelativeCalendar","fromFormatExplain","_options$locale","_options$numberingSys","fromStringExplain","dateTimeish","VERSION","__g","WorkEntity","WorkEntityEmpty","isObjectLike","i18n","locales","enableFallback","currentLocale","codes","Locales","registry","register","localeResolver","pluralizer","_ref$includeZero","includeZero","_ref$ordinal","defaultPluralizer","ord","n10","n100","_i18n","Pluralization","camelCaseKeys","RoundingModeMap","expandRoundMode","roundMode","getAbsolutePrecision","significant","digitCount","roundNumber","rounder","originalNumber","raise","formattedNumber","roundedNumber","_roundedNumber$split2","whole","significand","positiveFormat","negativeFormat","limit","computeSignificand","stripInsignificantZeros","replaceInFormat","getFullScope","scope","defaultSeparator","inferType","transformKey","nullPlaceholder","missingPlaceholder","lookup","localeType","translations","delimiterPattern","_numeric$toString$spl2","digitToDelimiter","DECIMAL_UNITS","INVERTED_DECIMAL_UNITS","roundOptions","unitExponents","calculateExponent","determineUnit","_formattedNumber$spli2","STORAGE_UNITS","numberToBeFormatted","smallerThanBase","translate","keyEnd","storageUnitKey","parseDate","_date","_parts","$1","$2","$3","$6","$4","$5","baseScope","missingTranslation","pluralization","missingKeys","DEFAULT_OPTIONS","meridian","pm","dayNames","abbrDayNames","monthNames","abbrMonthNames","_Object$assign","AM_PM","getTime","weekDay","secs","mins","absOffsetHours","absOffsetMinutes","timezoneoffset","within","actual","fromTime","toTime","fromInSeconds","toInSeconds","distanceInSeconds","distanceInMinutes","distanceInHours","distanceInDays","distanceInHoursRounded","distanceInDaysRounded","distanceInMonthsRounded","includeSeconds","fromYear","toYear","leapYears","minutesInYear","minuteOffsetForLeapYear","minutesWithOffset","distanceInYears","guessStrategy","missingTranslationPrefix","fullScope","fullScopeWithLocale","MissingTranslation","strategy","missingBehavior","DEFAULT_I18N_OPTIONS","availableLocales","I18n","_locale","_defaultLocale","_version","onChangeHandlers","pluralize","localize","distanceOfTimeInWords","timeAgoInWords","hasChanged","translation","translationOptions","defaults","createTranslationOptions","translationOption","numberToCurrency","numberToPercentage","strftime","billion","million","quadrillion","thousand","trillion","originalLocale","strict","newNode","currentNode","currentType","overrideType","_Object$assign2","wordsConnector","twoWordsConnector","lastWordConnector","runCallbacks","newLocale","changed","findCascaderValue","lastValue","isId","Some","None","makeCascaderDefaultValue","workItem","wi","_Symbol","getRawTag","objectToString","symToStringTag","jaJp","valueLabel","valueLabelOr","visiblity","setVisibility","selectLabel","getValueLabel","unwrapOr","WorkEntityListWithHidden","baseGet","__generator","sent","trys","ops","verb","op","UNDEFINED","OBJECT","mergeObjects","hasWindow","counter","stableHash","online","hasWin","hasDoc","onWindowEvent","onDocumentEvent","offWindowEvent","offDocumentEvent","preset","isOnline","isVisible","visibilityState","defaultConfigOptions","initFocus","initReconnect","onOnline","onOffline","IS_SERVER","navigatorConnection","connection","slowConnection","effectiveType","saveData","serialize","SWRGlobalState","broadcastState","isValidating","revalidate","EVENT_REVALIDATORS","STATE_UPDATERS","CONCURRENT_PROMISES","CONCURRENT_PROMISES_TS","revalidators","updaters","__timestamp","getTimestamp","internalMutate","_data","keyErr","MUTATION_TS","MUTATION_END_TS","beforeMutationTs","revalidateAllKeys","initCache","provider","releaseFocus_1","releaseReconnect_1","defaultConfig","onLoadingSlow","onSuccess","onErrorRetry","__","maxRetryCount","errorRetryCount","currentRetryCount","retryCount","errorRetryInterval","onDiscarded","revalidateOnFocus","revalidateOnReconnect","revalidateIfStale","shouldRetryOnError","focusThrottleInterval","dedupingInterval","loadingTimeout","currentData","newData","isPaused","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","subscribeCallback","keyedRevalidators","WITH_DEDUPE","dedupe","useSWR","extendedConfig","cacheContext","fallbackData","suspense","revalidateOnMount","refreshInterval","refreshWhenHidden","refreshWhenOffline","fnArgs","keyValidating","initialMountedRef","configRef","getConfig","cached","shouldRevalidateOnMount","rerender","stateDependenciesRef","shouldRerender","stateDependencies","revalidateOpts","shouldStartNewRequest","isCurrentKeyMounted","cleanupState","finishRequestAndUpdateState","err_1","boundMutate","keyChanged","softRevalidate","nextFocusRevalidatedAt","unsubUpdate","updatedData","updatedError","updatedIsValidating","unsubEvents","timer","execute","fallbackConfig","fetcher","axios","isUserLoading","queryFetcher","querys","initialData","usp","vendors","caf","_now","cp","cancelled","polyfill","baseIsNative","baseIsEqual","getRegisteredStyles","insertStyles","isStringTag","inserted","insert","sheet","use_localstorage_1","local_storage_events_1","writeStorage","deleteFromStorage","NoneImpl","expect","_mapper","andThen","toResult","Err","SomeImpl","_val","_msg","Ok","safeUnwrap","EMPTY","someOption","options_1","options_2","isOption","Result","ErrImpl","stackLines","_stack","mapErr","toOption","OkImpl","okResult","results_1","errResult","results_2","wrapAsync","isResult","__webpack_amd_options__","baseToString","isLength","Portal","rootEl","React","ReactDOM","createPortal","DailyReportTimespanContainer","dailyReportPersisted","dailyReportWorks","thunksComment","memo","timespanInfo","rows","data-confirm","overtime","modal","submit","DailyReportTimespanWorksForm","workPropertyOptions","handleChangeNewWork","dispatch","setShowModal","setOvertimeWork","handleProperty","handleContent","worksOffset","tinfo","timeAlias","onChangeProperty","onChangeContent","hidden","showModal","onSubmit","overtimeWork","onChangeStartAt","onChangeEndAt","constraints","presence","reducer","getWorks4Timespan","eqTimespan","useWorkFormTypeC","handleChangeQuantity","parsedQuantity","useWorkFormTypeD","DailyReportWorksForm","WorkContentList","onClickEdit","onClickDelete","ThunksWithHidden","baseFlatten","baseOrderBy","baseRest","isIterateeCall","sortBy","collection","iteratees","pairs","pairSplitRegExp","dec","decode","eq_idx","tryDecode","enc","encode","fieldContentRegExp","maxAge","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","baseIteratee","baseUniq","iteratee","createRange","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","handleInterpolation","mergedProps","interpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","labelPattern","identifierName","__e","baseReducer","C","A","O","column","I","K","N","ee","ae","ce","$","te","se","ue","ie","fe","le","character","fixedElements","compat","isImplicitRule","rules","parentRules","removeLabel","defaultStylisPlugins","ssrStyles","querySelectorAll","stylisPlugins","_insert","nodesToHydrate","attrib","getAttribute","omnipresentPlugins","currentSheet","finalizingPlugins","rule","serializer","shouldCache","nonce","speedy","prepend","hydrate","baseExtremum","baseGt","baseLt","PortalDialog","modalRoot","WorkPropertySelect","getOptionLabelValue","WorkPropertyCascader","setWorkProperty","wp","nativeCreate","getNative","isKeyable","__data__","WorkItemSelect","recoilValueKey","filterOptions","WorkItemCascader","setItem","CheckMark","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","isSymbol","baseIsArguments","objectProto","isArguments","isArrayLike","isIndex","arrayLikeKeys","baseKeys","comparator","computed","DailyReportViewTypeAForm","submitText","DailyReportRepresentationViewTypeAForm","DailyReportWorksFormContainer","DailyReportViewTypeCForm","submitBtnRef","DailyReportViewTypeDForm","onQuantityChange","comment","DailyReportTimespanWorksFormDraftContainer","useReducer","newWorks","getRest","WorkFormForTimespan","_asyncToGenerator","matchProp","resolveProp","getDefaultProp","noopTransform","getDefaultProps","DEFAULT_PROPS","RESERVED_PROPS","pause","onProps","onPause","onResume","onResolve","trail","onDestroyed","callId","parentId","inferTo","forward","getForwardProps","computeGoal","hasProps","isAsyncTo","detachRefs","ctrl","_ctrl$ref","replaceRef","_ctrl$ref2","AnimationConfig","frequency","restVelocity","bounce","decay","sanitizeConfig","isTensionConfig","emptyArray","Animation","toValues","fromValues","scheduleProps","_props$cancel","paused","resumeQueue","resume","delayed","pauseQueue","cancelId","getCombinedResult","getCancelledResult","getNoopResult","getFinishedResult","finished","runAsync","prevTo","asyncTo","prevPromise","_callee3","preventBail","bail","bailPromise","bailIfEnded","animating","asyncId","bailSignal","bailResult","BailSignal","skipAnimationSignal","SkipAnimationSignal","stopAsync","isFrameValue","FrameValue","nextId$1","_priority","_attach","_detach","_onPriorityChange","$P","hasAnimated","setActiveBit","IS_ANIMATING","setPausedBit","SpringValue","_FrameValue","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","elapsed","bounceFactor","canBounce","isGrowing","numSteps","currVal","finalVal","_stop","_focus","_update","_this$animation","_to","_onStart","_start","isLoop","mergeActiveFn","_prepareNode","isFrozen","checkFinished","_resume","_merge","createLoopUpdate","hasToProp","hasFromProp","prevFrom","_range$to","_range$from","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","mergeConfig","isAnimatable","goalType","started","hasValueChanged","ACTIVE_EVENTS","_this12","oldNode","loopRet","overrides","createUpdate","_props2","findDefined","declareUpdate","_target$animation$typ2","_target$defaultProps$2","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","_len5","BATCHED_EVENTS","nextId","Controller","springs","_flush","_initialProps","_lastAsyncId","_active","_changed","_started","_item","_events","_onFrame","spring","prepareKeys","flushUpdateQueue","_this13","_this$_events","_ref12","_ref13","isDelayed","flushUpdate","_flushUpdate","_callee4","promises","_ref22","getSprings","prepareSprings","createSpring","setSprings","_excluded$6","SpringContext","inherited","Consumer","SpringRef","_update2","_getProps","_arguments2","_this14","_update3","_arguments3","_this15","useSprings","_arguments4","propsFn","layoutId","ctrls","updates","prevLength","declareUpdates","_update4","prevContext","hasContext","useSpring","isFn","_useSprings","_useSprings2","_useSprings2$","TransitionPhase","Interpolation","_FrameValue2","_this16","calc","_dt","checkIdle","becomeIdle","_this17","_this18","_this19","highest","isIdle","WorkForm","single","checked","useDailyReportTypeCPersist","userId","WDNDD","WorkingWorkContent","handleClickEdit","handleClickDelete","DailyReportRepresentationViewTypeCForm","readCookie","cleanValue","cleanupCookieValue","doNotParse","isParsingCookie","__assign","Cookies","cookies","changeListeners","HAS_DOCUMENT_COOKIE","cookie","parseCookies","_updateBrowserValues","parseOptions","_emitChange","getAll","name_1","finalOptions","addChangeListener","removeChangeListener","getItem","filterConfig","DailyReportsRepresentationContainer","localStorage","beark","sessionStorage","setInterval","useReducerPersisted","StyleSheet","_insertTag","tags","firstChild","nextSibling","insertBefore","isSpeedy","ctr","createTextNode","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","newInputs","lastInputs","resultFn","lastThis","calledOnce","newArgs","mergeLocale","patch","runValidations","isPromise","processValidationResults","attr","major","minor","EMPTY_STRING_REGEXP","validatorName","validators","validatorOptions","isDomElement","isJqueryElement","collectFormValues","getDeepObjectValue","attribute","globalOptions","errors","pruneEmptyErrors","expandMultipleErrors","convertErrorMessages","formatters","async","WrapErrors","wrapErrors","cleanAttributes","waitForResults","fullMessages","isBoolean","isDefined","jquery","querySelector","FORMAT_REGEXP","m0","prettify","stringifyValue","isHash","unique","forEachKeyInKeypath","keypath","escape","sanitizeFormValue","nullify","capitalize","errorInfo","groupErrorsByAttribute","flattenErrorsToArray","whitelist","whitelistCreator","cleanRecursive","ow","buildObjectWhitelist","exposeModule","amd","tokenizer","wrongLength","tooShort","tooLong","notValid","numericality","checks","greaterThan","greaterThanOrEqualTo","equalTo","lessThan","lessThanOrEqualTo","divisibleBy","onlyInteger","noStrings","notInteger","odd","notOdd","even","notEven","datetime","earliest","dateOnly","tooEarly","tooLate","flags","inclusion","exclusion","PATTERN","otherValue","schemes","allowLocal","allowDataUrl","tld","originalOptions","detailed","flat","grouped","constraint","_CSSTransition","_interopRequireDefault","_ReplaceTransition","_TransitionGroup","_Transition","Transition","TransitionGroup","ReplaceTransition","CSSTransition","arrayEvery","baseEvery","guard","classToType","utils","clip_rgb","_clipped","_unclipped","unpack","keyOrder","TWOPI","PITHIRD","DEG2RAD","RAD2DEG","autodetect","last$1","clip_rgb$1","type$1","me","chk","_rgb","Color_1","chroma","chroma_1","unpack$1","rgb2cmyk_1","unpack$2","cmyk2rgb_1","unpack$3","type$2","cmyk","unpack$4","last$2","rnd","hsl2css_1","unpack$5","rgb2hsl_1","unpack$6","last$3","rgb2css_1","unpack$7","round$1","hsl2rgb_1","h_","RE_RGB","RE_RGBA","RE_RGB_PCT","RE_RGBA_PCT","RE_HSL","RE_HSLA","round$2","css2rgb","rgb$1","i$1","rgb$2","i$2","rgb$3","i$3","rgb$4","hsl$1","rgb$5","css2rgb_1","type$3","unpack$8","gl","unpack$9","rgb2hcg_1","_g","unpack$a","hcg2rgb_1","assign$1","assign$2","assign$3","assign$4","assign$5","unpack$b","type$4","hcg","unpack$c","last$4","round$3","rgb2hex_1","hxa","RE_HEX","RE_HEXA","hex2rgb_1","u$1","type$5","unpack$d","rgb2hsi_1","min_","unpack$e","limit$1","TWOPI$1","hsi2rgb_1","unpack$f","type$6","hsi","unpack$g","type$7","unpack$h","min$1","max$1","rgb2hsv","max_","unpack$i","floor$1","hsv2rgb_1","unpack$j","type$8","hsv","labConstants","unpack$k","rgb_xyz","xyz_lab","rgb2xyz","rgb2lab_1","ref$1","unpack$l","pow$1","xyz_rgb","lab_xyz","lab2rgb_1","unpack$m","type$9","lab","unpack$n","sqrt$1","round$4","lab2lch_1","unpack$o","rgb2lch_1","b_","unpack$p","cos$1","lch2lab_1","unpack$q","lch2rgb_1","unpack$r","hcl2rgb_1","hcl","unpack$s","type$a","lch","w3cx11_1","cornflower","laserlemon","lightgoldenrod","maroon2","maroon3","purple2","purple3","type$b","unpack$t","rgb2num_1","type$c","num2rgb_1","type$d","unpack$u","type$e","round$5","temperature2rgb_1","kelvin","unpack$v","round$6","rgb2temperature_1","minTemp","maxTemp","eps","temperature","type$f","clipped","darken","brighten","mc","channel","type$g","pow$2","luminance","lum","cur_lum","max_iter","low","high","lm","rgb2luminance","luminance_x","type$h","mix","col1","col2","premultiply","saturate","desaturate","type$i","xyz0","xyz1","sqrt$2","pow$3","lrgb","z1","z2","_hsx","hue0","hue1","sat0","sat1","lbv0","lbv1","sat","hue","lch$1","clip_rgb$2","pow$4","sqrt$3","PI$1","cos$2","sin$1","atan2$1","_average_lrgb","weights","col","type$j","pow$5","_mode","_nacol","_spread","_pos","_padding","_classes","_colors","_out","_min","_max","_correctLightness","_colorCache","_useCache","_gamma","setColors","brewer","c$1","tMapLightness","tMapDomain","getColor","bypassMap","getClass","analyze","limits","tOut","tBreaks","_m","_o","spread","correctLightness","L0","L1","pol","L_actual","L_ideal","L_diff","numColors","dm","dd","__range__","samples","asc","nodata","inclusive","blend","blend_f","normal","screen","overlay","lighten","dodge","burn","blend_1","type$k","clip_rgb$3","TWOPI$2","pow$6","sin$2","cos$3","floor$2","log$1","pow$7","floor$3","MAX_VALUE","min_log","LOG10E","max_log","pb","pr","cluster","assignments","clusterSizes","nb_iters","centroids","i$4","mindist","j$1","dist","newCentroids","j$2","i$5","j$3","j$4","kClusters","j$5","i$6","tmpKMeansBreaks","j$6","i$7","analyze_1","sqrt$4","atan2$2","abs$1","cos$4","PI$2","cool","hot","colorbrewer","OrRd","PuBu","BuPu","Oranges","BuGn","YlOrBr","YlGn","Reds","RdPu","Greens","YlGnBu","Purples","GnBu","Greys","YlOrRd","PuRd","Blues","PuBuGn","Viridis","Spectral","RdYlGn","RdBu","PiYG","PRGn","RdYlBu","BrBG","RdGy","PuOr","Set2","Accent","Set1","Set3","Dark2","Paired","Pastel2","Pastel1","list$1","colorbrewer_1","average","cnt","ci","xyz2","A$1","lab0","lab1","lab2","lab3","I0","I1","cubehelix","rotations","lightness","dl","dh","fract","amp","cos_a","sin_a","contrast","l1","l2","deltaE","b1","L2","a2","b2","sl","sc","sh","delC","delA","delB","distance","sum_sq","query","dailyReportsUserDailyReportsPath","newDailyReportsUserDailyReportPath","Turbolinks","location","href","balanced","reduceFunctionCall","mexp","NESTED_CALC_RE","decimalPrecision","evaluateExpression","expression","functionIdentifier","uniqueUnits","uniqueLowerCaseUnits","unitRegEx","getUnitsInExpression","evaluatedPart","nonEvaluatedPart","balancedExpr","evaluated","evaluateNestedExpression","toEvaluate","eval","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","nextTick","browser","argv","versions","off","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","newObj","hasPropertyDescriptor","castPath","toKey","reIsDeepProp","reIsPlainProp","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","reIsUint","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","Ctor","stubFalse","freeExports","freeModule","Buffer","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","anObject","IE8_DOM_DEFINE","dP","Attributes","$expm1","IObject","fails","spaces","space","ltrim","rtrim","exporter","KEY","ALIAS","FORCE","TYPE","baseIsEqualDeep","bitmask","baseForOwn","baseEach","createBaseEach","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_react","_react2","_propTypes2","sizerStyle","INPUT_PROPS_BLACKLIST","copyStyles","isIE","generateId","AutosizeInput","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","prevId","copyInputStyles","updateInputWidth","onAutosize","inputStyles","newInputWidth","placeholderIsMinWidth","extraWidth","injectStyles","dangerouslySetInnerHTML","__html","sizerValue","previousValue","inputProps","cleanInputProps","inputClassName","renderStyles","nativeMax","nativeMin","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","memoize","resolver","memoized","Cache","_getNiceTickValues","getTickValues","getNiceTickValues","getTickValuesFixedDomain","baseAssignValue","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","fullPath","baseURL","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","cancelToken","abort","send","enhanceError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","axiosKeys","otherKeys","Cancel","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","isKey","stringToPath","funcToString","hasFunc","baseFor","createBaseFor","Uint8Array","getPrototype","overArg","baseKeysIn","baseTimes","isArr","isArg","isBuff","isType","skipIndexes","overRest","setToString","setCacheAdd","setCacheHas","SetCache","reHasUnicode","arraySome","cacheHas","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","renderActiveShape","sx","sy","mx","my","ey","PieGraph","graphData","activePie","setActivePie","createDesc","SRC","$toString","TPL","inspectSource","copyright","aFunction","pIE","toIObject","gOPD","arrayIndexOf","IE_PROTO","shared","uid","cof","stacked","fromIndex","fromRight","resIndex","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_interopRequireWildcard","_reactDom","_reactLifecyclesCompat","_React$Component","initialStatus","transitionGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","nextCallback","getChildContext","componentDidMount","updateStatus","componentDidUpdate","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","mounting","findDOMNode","performEnter","performExit","appearing","enterTimeout","safeSetState","onEntering","onTransitionEnd","onEntered","onExiting","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","childProps","_default","componentWillMount","componentWillReceiveProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","__suppressDeprecationWarning","classNamesShape","timeoutsShape","_propTypes","_ChildMapping","handleExited","firstRender","appeared","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","isRequired","arrayPush","isFlattenable","isStrict","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","globalScope","Decimal","rounding","toExpNeg","toExpPos","external","decimalError","invalidArgument","exponentOutOfRange","mathpow","isDecimal","MAX_E","xd","yd","checkInt32","digitsToString","ws","indexOfLastWord","getZeroString","xdL","ydL","divide","getBase10Exponent","isint","isneg","ispos","logarithm","wpr","ln","sub","naturalExponential","naturalLogarithm","neg","mul","rL","toDecimalPlaces","todp","toInteger","toint","toPower","yIsInt","yn","truncate","toSignificantDigits","tosd","multiplyInteger","qd","yd0","denominator","getLn10","numerator","parseDecimal","doRound","xdi","isExp","ps","compose","curry","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curryN","restArgs","fns","firstFn","tailsFn","ThunksBarGraph","WorkTimePerProjectBarGraph","contentName","LocalStorageChanged","_CustomEvent","detail","CustomEvent","isTypeOfLocalStorageChanged","evt","dispatchEvent","removeItem","FormThanks","FormWorks","NewTypeA","NewTypeB","InnerNew","NewTypeC","FormTimespan","InnerEdit","EditTypeC","EditTypeD","FormEditThanks","FormEditWorks","Collapse","ListItem","List","defaultDepartmentName","Index","departmentName","byUsers","report_status","New","topLevel","DailyReportViewTypeD","NewTypeD","copyObject","createAssigner","assignWith","srcIndex","__importDefault","staged","react_1","processNext","Stage","stage","defaultStateValue","postState","_useState","_useState5","_slicedToArray2","postMergedValue","onChangeFn","_useEvent","_useState3","setPrevValue","_useLayoutEffect","useLayoutUpdateEffect","triggerChange","updater","ignoreDestroy","baseHas","hasPath","baseMerge","camelCase","createCompounder","baseRepeat","baseZipObject","arrayMap","baseIntersection","castArrayLikeObject","arrays","arrayFilter","baseFilter","_ResizeDetector","_ResizeDetector2","funcProto","objectCtorString","createFind","baseSome","ReflectOwnKeys","ReflectApply","NumberIsNaN","EventEmitter","_eventsCount","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","newListener","warned","emitter","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","listenerCount","getMaxListeners","doError","er","originalListener","spliceOne","rawListeners","eventNames","require","componentRequireContext","Rails","linkClickSelector","buttonClickSelector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","loadCSPNonce","cspNonce","Element","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","getData","setData","csrfParam","csrfToken","meta","CSRFProtection","xhr","refreshCSRFTokens","fire","initCustomEvent","bubbles","Event","stopEverything","stopImmediatePropagation","delegate","AcceptHeaders","createXHR","prepareOptions","processResponse","xml","json","script","ajax","getResponseHeader","beforeSend","OPENED","dataType","accept","crossDomain","DOMParser","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","serializeElement","additionalParam","formElements","allowAction","handleConfirm","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","handleMethod","formContent","isRemote","handleRemote","enctype","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","ajaxPrefilter","_rails_loaded","supported","history","pushState","controller","setProgressBarDelay","closest","Node","ELEMENT_NODE","defer","initEvent","uuid","Location","absoluteURL","requestURL","anchor","getOrigin","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","toCacheKey","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","notifyApplicationBeforeRequestStart","setProgress","requestStarted","lengthComputable","total","endRequest","requestCompletedWithResponse","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","onprogress","onload","destroy","requestFinished","ProgressBar","trickle","_t2","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","installStylesheetElement","installProgressElement","startTrickling","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","trickleInterval","clearInterval","BrowserAdapter","showProgressBar","_t3","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","_t4","History","onPageLoad","onPopState","shouldHandlePopState","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","outerHTML","tracked","fromHeadElement","childNodes","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","getMetaValue","findMetaElementByName","headDetails","bodyElement","fromHTMLString","fromHTMLElement","cloneNode","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","__super__","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","_t5","replaceChild","_t6","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","markAsPreview","renderSnapshot","renderError","_t7","scrollToElement","scrollToPosition","updatePosition","scrollPositionChanged","SnapshotCache","snapshots","put","Visit","performScroll","_t8","identifier","timingMetrics","recordTimingMetric","cancelRender","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","getTimingMetrics","snapshotCached","frame","_t9","clickBubbled","clickCaptured","view","scrollManager","startHistory","enabled","disable","stopHistory","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","which","altKey","nodeIsVisitable","currentScript","sparkMd5","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tmp","rhex","toUtf8","unescape","hexToBinaryString","bytes","SparkMD5","targetArray","sourceArray","byteLength","appendBinary","_buff","_length","_hash","buff","_finish","hashBinary","returnUInt8Array","subarray","utf8Str2ArrayBuffer","md51_array","classCallCheck","createClass","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","chunkIndex","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","readAsArrayBuffer","findElement","eventInit","toArray$1","BlobRecord","checksum","filename","content_type","byte_size","requestDidLoad","requestDidError","blob","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","DirectUpload","methodName","DirectUploadController","directUpload","hiddenInput","insertAdjacentElement","dispatchError","signed_id","uploadRequestDidProgress","DirectUploadsController","files","controllers","createDirectUploadControllers","startNextController","submitButtonsByForm","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","enable","submitForm","ActiveStorage","serviceWorker","reg","webpackContext","req","webpackContextResolve","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","isPureReactComponent","J","__self","__source","$$typeof","_owner","keyPrefix","aa","Y","ba","ReactCurrentBatchConfig","IsSomeRendererActing","Profiler","PureComponent","StrictMode","Suspense","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","_ctor","_status","_result","useDebugValue","useImperativeHandle","useLayoutEffect","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","ea","fa","ha","ia","ja","la","ma","oa","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ta","acceptsBooleans","Sa","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","Wa","Xa","Ra","setAttributeNS","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","qb","_debugOwner","_debugSource","fileName","lineNumber","rb","sb","xb","_valueTracker","stopTracking","tb","yb","zb","defaultChecked","_wrapperState","initialChecked","Ab","controlled","Bb","Cb","Db","Eb","Gb","Fb","Hb","defaultSelected","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","Rb","lastChild","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","nc","srcElement","correspondingUseElement","oc","pc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","containerInfo","tc","uc","vc","wc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","gridArea","kd","ld","nd","menuitem","br","embed","hr","keygen","link","track","wbr","od","pd","td","ud","vd","HTMLIFrameElement","contentWindow","contentEditable","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","be","Interface","isDefaultPrevented","returnValue","eventPool","destructor","de","getPooled","cancelBubble","eventPhase","timeStamp","isTrusted","ge","he","je","ke","documentMode","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","ve","we","tel","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","ef","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","lf","animationName","pseudoElement","mf","clipboardData","nf","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","sf","dataTransfer","tf","targetTouches","uf","vf","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","baseState","baseQueue","pending","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","Ng","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","di","ei","fi","gi","pendingContext","qi","ii","retryTime","ji","unstable_avoidThisFallback","li","isBackwards","rendering","renderingStartTime","tailExpiration","tailMode","mi","ri","wasMultiple","onclick","createElementNS","ti","ui","vi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","compareDocumentPosition","setStart","removeAllRanges","addRange","setEnd","vb","Uj","Vj","Wj","ob","Xj","unstable_observedBits","Zj","pendingChildren","bk","ck","dk","ek","fk","Jc","_internalRoot","ik","hk","jk","kk","Lj","lk","Events","findFiberByHostInstance","bundleType","rendererPackageName","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","flushSync","unstable_createPortal","unstable_renderSubtreeIntoContainer","_f","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","Axios","createInstance","instanceConfig","CancelToken","isCancel","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","normalizedName","isAxiosError","columnNumber","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","hostname","port","pathname","toGMTString","executor","resolvePromise","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","propFullName","secret","getShim","ReactPropTypes","instanceOf","objectOf","exact","checkPropTypes","arrayWithoutHoles","iterableToArray","nonIterableSpread","arrayLikeToArray","objectWithoutPropertiesLoose","isNew","isMasked","toSource","reIsHostCtor","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","assigner","sources","otherArgs","baseSetToString","shortOut","nativeNow","lastCalled","stamp","remaining","typedArrayTags","freeProcess","isPrototype","nativeKeys","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","assocIndexOf","getMapData","baseTrim","trimmedEndIndex","reTrimStart","reWhitespace","IntersectionObserverEntry","startDoc","doc","getFrameElement","crossOriginUpdater","crossOriginRect","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_setupCrossOriginUpdater","boundingClientRect","intersectionRect","convertFromParentRect","_checkForIntersections","_resetCrossOriginUpdater","_observationTargets","_registerInstance","_monitorIntersections","_unmonitorIntersections","_unregisterInstance","_unmonitorAllIntersections","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","_parseRootMargin","opt_rootMargin","margins","win","_monitoringDocuments","monitoringInterval","domObserver","addEvent","_monitoringUnsubscribes","removeEvent","rootDoc","itemDoc","unsubscribe","unsubscribes","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","rootContainsTarget","_rootContainsTarget","oldEntry","_computeTargetAndRootIntersection","rootBounds","newEntry","_hasCrossedThreshold","_callback","rect1","rect2","getParentNode","atRoot","parentRect","parentComputedStyle","frameRect","frameIntersect","isDoc","_expandRectByRootMargin","_rootMarginValues","newRect","oldRatio","newRatio","containsDeep","frameElement","ensureDOMRect","targetArea","intersectionArea","opt_options","opt_useCapture","parentBoundingRect","parentIntersectionRect","assignedSlot","_fnRef$current","firstMountRef","destroyRef","_React$useState","_React$useState2","memoizeCapped","rePropName","reEscapeChar","quote","subString","symbolProto","symbolToString","assignMergeValue","baseMergeDeep","keysIn","safeGet","LARGE_ARRAY_SIZE","keysFunc","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","isPlainObject","toPlainObject","mergeFunc","isCommon","isTyped","allocUnsafe","isDeep","cloneArrayBuffer","typedArray","byteOffset","arrayBuffer","baseCreate","objectCreate","nativeKeysIn","isProto","arrayIncludes","arrayIncludesWith","createSet","setToArray","outer","seenIndex","baseIndexOf","baseFindIndex","baseIsNaN","strictIndexOf","upperFirst","createCaseFirst","castSlice","hasUnicode","stringToArray","strSymbols","chr","baseSlice","asciiToArray","unicodeToArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","rsSymbol","reUnicode","arrayReduce","deburr","reApos","accumulator","initAccum","deburrLetter","reLatin","reComboMark","basePropertyOf","asciiWords","hasUnicodeWord","unicodeWords","reAsciiWord","reHasUnicodeWord","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsModifier","rsEmoji","reUnicodeWord","nativeFloor","toFinite","remainder","spreadableSymbol","isConcatSpreadable","baseMap","baseSortBy","compareMultiple","orders","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","mapToArray","symbolValueOf","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","symbolsFunc","stubArray","nativeGetSymbols","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","isStrictComparable","hasIn","baseHasIn","baseProperty","basePropertyDeep","eachFunc","comparer","compareAscending","objCriteria","criteria","othCriteria","ordersLength","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","assignFunc","valsLength","baseRange","nativeCeil","$acosh","acosh","LN2","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","fround","EPSILON","EPSILON32","MAX32","MIN32","$abs","$sign","hypot","aLen","larg","$imul","imul","xn","xl","yl","sinh","tanh","inheritIfRequired","gOPN","$trim","$Number","Base","BROKEN_COF","TRIM","argument","third","radix","maxCode","buggy","$keys","hiddenKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","Properties","getKeys","aNumberValue","$toFixed","ERROR","numToString","fractionDigits","$fails","$toPrecision","_isFinite","isSafeInteger","$parseFloat","$parseInt","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","uptime","caches","_addClass","_removeClass","addClass","removeClass","getClassNames","removeClasses","activeClassName","reflowAndAddClass","appearClassName","doneClassName","enterClassName","isStringClassNames","_this$getClassNames6","_hasClass","baseVal","replaceClassName","origClass","classToRemove","_args","handleLifecycle","handleEntering","handleEntered","handleExiting","originalArgs","inProp","_React$Children$toArr","mergeChildMappings","nextChildMapping","hasPrev","hasNext","isLeaving","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","_resizeObserverPolyfill2","_lodash2","_lodash4","listMode","ResizeDetector","createResizeObserver","_entry$contentRect","notifyWidth","notifyHeight","skipOnMount","refreshMode","refreshRate","resizeObserver","ro","resizableElementId","resizableElement","MapShim","class_1","__entries__","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","addObserver","connect_","removeObserver","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","clearActive","observation","_decimal","_utils","_arithmetic","getValidInterval","validMin","validMax","getFormatStep","roughStep","correctionFactor","getDigitCount","digitCountValue","stepRatio","stepRatioScale","formatStep","getTickOfSingleValue","absVal","middleIndex","calculateStep","tickMin","tickMax","belowCount","upCount","scaleCount","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","rangeStep","_getValidInterval3","_getValidInterval4","_getValidInterval5","_getValidInterval6","newA","uninterpolateNumber","uninterpolateTruncation","maybeMatch","begs","beg","functionRE","expressions","fnRE","searchMatch","SyntaxError","getFunctionCalls","evalFunctionCall","Mexp","formulaEval","pop1","pop2","pop3","disp","postfixEval","UserDefined","Exception","lex","toPostfix","popped","prep","flag","inc","eva","math","atan","fact","sigma","preced","0","1","2","3","4","5","6","7","10","11","14","type0","type1","type1Asterick","type3Asterick","type6","newAr","str1","str2","addToken","inp","changeSignObj","changeSign","closingParObj","openingParObj","ptc","inpStr","allowed","bracToClose","asterick","precedence","tokenize","cToken","cType","cEv","cPre","cShow","hasDec","isDegree","pro","choice","toRadian","inverse","pow10x","sinha","cosha","findIndexFunc","tryParse","_react_1$useState2","localState","updateLocalState","canWrite","writeState","deleteState","ReactDOMServer","_detectEvents","constructorFromGlobal","constructorFromRequireContextWithGlobalFallback","ReactRailsUJS","CLASS_NAME_ATTR","PROPS_ATTR","RENDER_ATTR","CACHE_ID_ATTR","TURBOLINKS_PERMANENT_ATTR","findDOMNodes","searchSelector","classNameAttr","getConstructor","requireContext","serverRender","renderFunction","componentClass","mountComponents","ujs","propsJson","cacheId","turbolinksPermanent","unmountComponents","detectEvents","Uint16Array","listing","textarea","suppressContentEditableWarning","suppressHydrationWarning","domNamespace","footer","threadID","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","clearProviders","pushProvider","popProvider","fallbackFrame","renderDOM","renderToString","renderToStaticMarkup","renderToNodeStream","renderToStaticNodeStream","nativeEvents","pjaxEvents","turbolinksEvents","turbolinksClassicDeprecatedEvents","turbolinksClassicEvents","handleEvent","EVENTS","teardown","setup","pjax","handleMount","handleUnmount","pagesCached","CHANGE","BEFORE_UNLOAD","fromGlobal","fromRequireContext","reqctx","fromCtx","firstErr","secondErr"],"mappings":"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AAS,+GACR,CACD94H,KAAM,IACN84H,QAAS,6BACR,CACD94H,KAAM,IACN84H,QAAS,mFACR,CACD94H,KAAM,IACN84H,QAAS,2GACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,+CACR,CACD94H,KAAM,IACN84H,QAAS,6FACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,qPACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,2DACR,CACD94H,KAAM,IACN84H,QAAS,mCACR,CACD94H,KAAM,IACN84H,QAAS,qGACR,CACD94H,KAAM,IACN84H,QAAS,qGACR,CACD94H,KAAM,IACN84H,QAAS,yFACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,mMACR,CACD94H,KAAM,IACN84H,QAAS,+CACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,2DACR,CACD94H,KAAM,IACN84H,QAAS,6BACR,CACD94H,KAAM,IACN84H,QAAS,uFACR,CACD94H,KAAM,IACN84H,QAAS,mFACR,CACD94H,KAAM,IACN84H,QAAS,qMACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,oBACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,gBACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,qDACR,CACD94H,KAAM,IACN84H,QAAS,2EACR,CACD94H,KAAM,IACN84H,QAAS,mFACR,CACD94H,KAAM,KACN84H,QAAS,gBACR,CACD94H,KAAM,IACN84H,QAAS,iLACR,CACD94H,KAAM,IACN84H,QAAS,mCACR,CACD94H,KAAM,IACN84H,QAAS,yFACR,CACD94H,KAAM,IACN84H,QAAS,yFACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,+GACR,CACD94H,KAAM,IACN84H,QAAS,mCACR,CACD94H,KAAM,IACN84H,QAAS,mFACR,CACD94H,KAAM,IACN84H,QAAS,iHACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,+CACR,CACD94H,KAAM,IACN84H,QAAS,mGACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,qPACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,2DACR,CACD94H,KAAM,IACN84H,QAAS,mCACR,CACD94H,KAAM,IACN84H,QAAS,qGACR,CACD94H,KAAM,IACN84H,QAAS,yGACR,CACD94H,KAAM,IACN84H,QAAS,+FACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,mMACR,CACD94H,KAAM,IACN84H,QAAS,+CACR,CACD94H,KAAM,KACN84H,QAAS,UACR,CACD94H,KAAM,IACN84H,QAAS,iEACR,CACD94H,KAAM,IACN84H,QAAS,6BACR,CACD94H,KAAM,IACN84H,QAAS,2FACR,CACD94H,KAAM,IACN84H,QAAS,oFAEPC,EAAe,IAAI1iJ,OAAO,IAAMwiJ,EAAW7/I,KAAI,SAAUlY,GAC3D,OAAOA,EAAEg4J,WACR3iJ,KAAK,IAAM,IAAK,KACf6iJ,EAAkB,GAEb,EAAI,EAAG,EAAIH,EAAWl1J,OAAQ,IAGrC,IAFA,IAAIs1J,EAAYJ,EAAW,GAElBj9D,EAAI,EAAGA,EAAIq9D,EAAUH,QAAQn1J,OAAQi4F,IAC5Co9D,EAAgBC,EAAUH,QAAQl9D,IAAMq9D,EAAUj5H,KAI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V,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,KAC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","file":"js/application-c42e9fefb82c1105a457.js","sourcesContent":[" \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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 = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 506);\n","'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}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar updateQueue = makeQueue();\n\nvar raf = function raf(fn) {\n return schedule(fn, updateQueue);\n};\n\nvar writeQueue = makeQueue();\n\nraf.write = function (fn) {\n return schedule(fn, writeQueue);\n};\n\nvar onStartQueue = makeQueue();\n\nraf.onStart = function (fn) {\n return schedule(fn, onStartQueue);\n};\n\nvar onFrameQueue = makeQueue();\n\nraf.onFrame = function (fn) {\n return schedule(fn, onFrameQueue);\n};\n\nvar onFinishQueue = makeQueue();\n\nraf.onFinish = function (fn) {\n return schedule(fn, onFinishQueue);\n};\n\nvar timeouts = [];\n\nraf.setTimeout = function (handler, ms) {\n var time = raf.now() + ms;\n\n var cancel = function cancel() {\n var i = timeouts.findIndex(function (t) {\n return t.cancel == cancel;\n });\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n var timeout = {\n time: time,\n handler: handler,\n cancel: cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nvar findTimeout = function findTimeout(time) {\n return ~(~timeouts.findIndex(function (t) {\n return t.time > time;\n }) || ~timeouts.length);\n};\n\nraf.cancel = function (fn) {\n onStartQueue[\"delete\"](fn);\n onFrameQueue[\"delete\"](fn);\n onFinishQueue[\"delete\"](fn);\n updateQueue[\"delete\"](fn);\n writeQueue[\"delete\"](fn);\n};\n\nraf.sync = function (fn) {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = function (fn) {\n var lastArgs;\n\n function queuedFn() {\n try {\n fn.apply(void 0, _toConsumableArray(lastArgs));\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = function () {\n onStartQueue[\"delete\"](queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nvar nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : function () {};\n\nraf.use = function (impl) {\n return nativeRaf = impl;\n};\n\nraf.now = typeof performance != 'undefined' ? function () {\n return performance.now();\n} : Date.now;\n\nraf.batchedUpdates = function (fn) {\n return fn();\n};\n\nraf[\"catch\"] = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = function () {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nvar ts = -1;\nvar pendingCount = 0;\nvar sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue[\"delete\"](fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n var prevTs = ts;\n ts = raf.now();\n var count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), function (t) {\n return t.handler();\n });\n pendingCount -= count;\n }\n\n if (!pendingCount) {\n stop();\n return;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n}\n\nfunction makeQueue() {\n var next = new Set();\n var current = next;\n return {\n add: function add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n \"delete\": function _delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next[\"delete\"](fn);\n },\n flush: function flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, function (fn) {\n return fn(arg) && next.add(fn);\n });\n pendingCount += next.size;\n current = next;\n }\n }\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(function (value) {\n try {\n each(value);\n } catch (e) {\n raf[\"catch\"](e);\n }\n });\n}\n\nvar __raf = {\n count: function count() {\n return pendingCount;\n },\n isRunning: function isRunning() {\n return ts >= 0;\n },\n clear: function clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n};\nexport { __raf, raf };","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport { useRef, useEffect, useLayoutEffect, useState } from 'react';\n\nfunction noop() {}\n\nvar defineHidden = function defineHidden(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n writable: true,\n configurable: true\n });\n};\n\nvar is = {\n arr: Array.isArray,\n obj: function obj(a) {\n return !!a && a.constructor.name === 'Object';\n },\n fun: function fun(a) {\n return typeof a === 'function';\n },\n str: function str(a) {\n return typeof a === 'string';\n },\n num: function num(a) {\n return typeof a === 'number';\n },\n und: function und(a) {\n return a === undefined;\n }\n};\n\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\n\nvar each = function each(obj, fn) {\n return obj.forEach(fn);\n};\n\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (var i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], \"\".concat(i));\n }\n\n return;\n }\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\n\nvar toArray = function toArray(a) {\n return is.und(a) ? [] : is.arr(a) ? a : [a];\n};\n\nfunction flush(queue, iterator) {\n if (queue.size) {\n var items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\n\nvar flushCalls = function flushCalls(queue) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return flush(queue, function (fn) {\n return fn.apply(void 0, args);\n });\n};\n\nvar isSSR = function isSSR() {\n return typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n};\n\nvar createStringInterpolator$1;\nvar to;\nvar colors$1 = null;\nvar skipAnimation = false;\nvar willAdvance = noop;\n\nvar assign = function assign(globals) {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n\n get createStringInterpolator() {\n return createStringInterpolator$1;\n },\n\n get to() {\n return to;\n },\n\n get colors() {\n return colors$1;\n },\n\n get skipAnimation() {\n return skipAnimation;\n },\n\n get willAdvance() {\n return willAdvance;\n },\n\n assign: assign\n});\nvar startQueue = new Set();\nvar currentFrame = [];\nvar prevFrame = [];\nvar priority = 0;\nvar frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start: function start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n advance: advance,\n sort: function sort(animation) {\n if (priority) {\n raf.onFrame(function () {\n return frameLoop.sort(animation);\n });\n } else {\n var prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n clear: function clear() {\n currentFrame = [];\n startQueue.clear();\n }\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, function (other) {\n return other.priority > animation.priority;\n }), 0, animation);\n}\n\nfunction advance(dt) {\n var nextFrame = prevFrame;\n\n for (var i = 0; i < currentFrame.length; i++) {\n var animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n var index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nvar clamp = function clamp(min, max, v) {\n return Math.min(Math.max(v, min), max);\n};\n\nvar colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n for (var _len2 = arguments.length, parts = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n parts[_key2] = arguments[_key2];\n }\n\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nvar rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nvar hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nvar hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nvar hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex6 = /^#([0-9a-fA-F]{6})$/;\nvar hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n var _int = parseInt(str, 10);\n\n if (_int < 0) return 0;\n if (_int > 255) return 255;\n return _int;\n}\n\nfunction parse360(str) {\n var _int2 = parseFloat(str);\n\n return (_int2 % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n var _int3 = parseFloat(str);\n\n if (_int3 < 0) return 0;\n if (_int3 > 100) return 1;\n return _int3 / 100;\n}\n\nfunction colorToRgba(input) {\n var int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n var r = (int32Color & 0xff000000) >>> 24;\n var g = (int32Color & 0x00ff0000) >>> 16;\n var b = (int32Color & 0x0000ff00) >>> 8;\n var a = (int32Color & 0x000000ff) / 255;\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(a, \")\");\n}\n\nvar createInterpolator = function createInterpolator(range, output, extrapolate) {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range: range,\n output: output,\n extrapolate: extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n var config = range;\n var outputRange = config.output;\n var inputRange = config.range || [0, 1];\n var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n var easing = config.easing || function (t) {\n return t;\n };\n\n return function (input) {\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n var result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) break;\n }\n\n return i - 1;\n}\n\nvar steps = function steps(_steps) {\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'end';\n return function (progress) {\n progress = direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001);\n var expanded = progress * _steps;\n var rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded);\n return clamp(0, 1, rounded / _steps);\n };\n};\n\nvar c1 = 1.70158;\nvar c2 = c1 * 1.525;\nvar c3 = c1 + 1;\nvar c4 = 2 * Math.PI / 3;\nvar c5 = 2 * Math.PI / 4.5;\n\nvar bounceOut = function bounceOut(x) {\n var n1 = 7.5625;\n var d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nvar easings = {\n linear: function linear(x) {\n return x;\n },\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n easeOutQuad: function easeOutQuad(x) {\n return 1 - (1 - x) * (1 - x);\n },\n easeInOutQuad: function easeInOutQuad(x) {\n return x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2;\n },\n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n easeOutCubic: function easeOutCubic(x) {\n return 1 - Math.pow(1 - x, 3);\n },\n easeInOutCubic: function easeInOutCubic(x) {\n return x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2;\n },\n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n easeOutQuart: function easeOutQuart(x) {\n return 1 - Math.pow(1 - x, 4);\n },\n easeInOutQuart: function easeInOutQuart(x) {\n return x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2;\n },\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n easeOutQuint: function easeOutQuint(x) {\n return 1 - Math.pow(1 - x, 5);\n },\n easeInOutQuint: function easeInOutQuint(x) {\n return x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2;\n },\n easeInSine: function easeInSine(x) {\n return 1 - Math.cos(x * Math.PI / 2);\n },\n easeOutSine: function easeOutSine(x) {\n return Math.sin(x * Math.PI / 2);\n },\n easeInOutSine: function easeInOutSine(x) {\n return -(Math.cos(Math.PI * x) - 1) / 2;\n },\n easeInExpo: function easeInExpo(x) {\n return x === 0 ? 0 : Math.pow(2, 10 * x - 10);\n },\n easeOutExpo: function easeOutExpo(x) {\n return x === 1 ? 1 : 1 - Math.pow(2, -10 * x);\n },\n easeInOutExpo: function easeInOutExpo(x) {\n return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2;\n },\n easeInCirc: function easeInCirc(x) {\n return 1 - Math.sqrt(1 - Math.pow(x, 2));\n },\n easeOutCirc: function easeOutCirc(x) {\n return Math.sqrt(1 - Math.pow(x - 1, 2));\n },\n easeInOutCirc: function easeInOutCirc(x) {\n return x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2;\n },\n easeInBack: function easeInBack(x) {\n return c3 * x * x * x - c1 * x * x;\n },\n easeOutBack: function easeOutBack(x) {\n return 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2);\n },\n easeInOutBack: function easeInOutBack(x) {\n return x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;\n },\n easeInElastic: function easeInElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4);\n },\n easeOutElastic: function easeOutElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1;\n },\n easeInOutElastic: function easeInOutElastic(x) {\n return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1;\n },\n easeInBounce: function easeInBounce(x) {\n return 1 - bounceOut(1 - x);\n },\n easeOutBounce: bounceOut,\n easeInOutBounce: function easeInOutBounce(x) {\n return x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2;\n },\n steps: steps\n};\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar $get = Symbol[\"for\"]('FluidValue.get');\nvar $observers = Symbol[\"for\"]('FluidValue.observers');\n\nvar hasFluidValue = function hasFluidValue(arg) {\n return Boolean(arg && arg[$get]);\n};\n\nvar getFluidValue = function getFluidValue(arg) {\n return arg && arg[$get] ? arg[$get]() : arg;\n};\n\nvar getFluidObservers = function getFluidObservers(target) {\n return target[$observers] || null;\n};\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n var observers = target[$observers];\n\n if (observers) {\n observers.forEach(function (observer) {\n callFluidObserver(observer, event);\n });\n }\n}\n\nvar FluidValue = function FluidValue(get) {\n _classCallCheck(this, FluidValue);\n\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n};\n\nvar setFluidGetter = function setFluidGetter(target, get) {\n return setHidden(target, $get, get);\n};\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n var observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n var observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n var count = observers.size - 1;\n\n if (count) {\n observers[\"delete\"](observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nvar setHidden = function setHidden(target, key, value) {\n return Object.defineProperty(target, key, {\n value: value,\n writable: true,\n configurable: true\n });\n};\n\nvar numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nvar colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nvar unitRegex = new RegExp(\"(\".concat(numberRegex.source, \")(%|[a-z]+)\"), 'i');\nvar rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nvar cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nvar variableToRgba = function variableToRgba(input) {\n var _parseCSSVariable = parseCSSVariable(input),\n _parseCSSVariable2 = _slicedToArray(_parseCSSVariable, 2),\n token = _parseCSSVariable2[0],\n fallback = _parseCSSVariable2[1];\n\n if (!token || isSSR()) {\n return input;\n }\n\n var value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n var _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nvar parseCSSVariable = function parseCSSVariable(current) {\n var match = cssVariableRegex.exec(current);\n if (!match) return [,];\n\n var _match = _slicedToArray(match, 3),\n token = _match[1],\n fallback = _match[2];\n\n return [token, fallback];\n};\n\nvar namedColorRegex;\n\nvar rgbaRound = function rgbaRound(_, p1, p2, p3, p4) {\n return \"rgba(\".concat(Math.round(p1), \", \").concat(Math.round(p2), \", \").concat(Math.round(p3), \", \").concat(p4, \")\");\n};\n\nvar createStringInterpolator = function createStringInterpolator(config) {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(\"(\".concat(Object.keys(colors$1).join('|'), \")(?!\\\\w)\"), 'g') : /^\\b$/;\n var output = config.output.map(function (value) {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n var keyframes = output.map(function (value) {\n return value.match(numberRegex).map(Number);\n });\n var outputRanges = keyframes[0].map(function (_, i) {\n return keyframes.map(function (values) {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n });\n });\n var interpolators = outputRanges.map(function (output) {\n return createInterpolator(_extends({}, config, {\n output: output\n }));\n });\n return function (input) {\n var _output$find;\n\n var missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(function (value) {\n return unitRegex.test(value);\n })) == null ? void 0 : _output$find.replace(numberRegex, ''));\n var i = 0;\n return output[0].replace(numberRegex, function () {\n return \"\".concat(interpolators[i++](input)).concat(missingUnit || '');\n }).replace(rgbaRegex, rgbaRound);\n };\n};\n\nvar prefix = 'react-spring: ';\n\nvar once = function once(fn) {\n var func = fn;\n var called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(\"\".concat(prefix, \"once requires a function parameter\"));\n }\n\n return function () {\n if (!called) {\n func.apply(void 0, arguments);\n called = true;\n }\n };\n};\n\nvar warnInterpolate = once(console.warn);\n\nfunction deprecateInterpolate() {\n warnInterpolate(\"\".concat(prefix, \"The \\\"interpolate\\\" function is deprecated in v9 (use \\\"to\\\" instead)\"));\n}\n\nvar warnDirectCall = once(console.warn);\n\nfunction deprecateDirectCall() {\n warnDirectCall(\"\".concat(prefix, \"Directly calling start instead of using the api object is deprecated in v9 (use \\\".start\\\" instead), this will be removed in later 0.X.0 versions\"));\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nvar observer;\nvar resizeHandlers = new WeakMap();\n\nvar handleObservation = function handleObservation(entries) {\n return entries.forEach(function (_ref) {\n var target = _ref.target,\n contentRect = _ref.contentRect;\n\n var _resizeHandlers$get;\n\n return (_resizeHandlers$get = resizeHandlers.get(target)) == null ? void 0 : _resizeHandlers$get.forEach(function (handler) {\n return handler(contentRect);\n });\n });\n};\n\nfunction resizeElement(handler, target) {\n if (!observer) {\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(handleObservation);\n }\n }\n\n var elementHandlers = resizeHandlers.get(target);\n\n if (!elementHandlers) {\n elementHandlers = new Set();\n resizeHandlers.set(target, elementHandlers);\n }\n\n elementHandlers.add(handler);\n\n if (observer) {\n observer.observe(target);\n }\n\n return function () {\n var elementHandlers = resizeHandlers.get(target);\n if (!elementHandlers) return;\n elementHandlers[\"delete\"](handler);\n\n if (!elementHandlers.size && observer) {\n observer.unobserve(target);\n }\n };\n}\n\nvar listeners = new Set();\nvar cleanupWindowResizeHandler;\n\nvar createResizeHandler = function createResizeHandler() {\n var handleResize = function handleResize() {\n listeners.forEach(function (callback) {\n return callback({\n width: window.innerWidth,\n height: window.innerHeight\n });\n });\n };\n\n window.addEventListener('resize', handleResize);\n return function () {\n window.removeEventListener('resize', handleResize);\n };\n};\n\nvar resizeWindow = function resizeWindow(callback) {\n listeners.add(callback);\n\n if (!cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler = createResizeHandler();\n }\n\n return function () {\n listeners[\"delete\"](callback);\n\n if (!listeners.size && cleanupWindowResizeHandler) {\n cleanupWindowResizeHandler();\n cleanupWindowResizeHandler = undefined;\n }\n };\n};\n\nvar onResize = function onResize(callback) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$container = _ref2.container,\n _container = _ref2$container === void 0 ? document.documentElement : _ref2$container;\n\n if (_container === document.documentElement) {\n return resizeWindow(callback);\n } else {\n return resizeElement(callback, _container);\n }\n};\n\nvar progress = function progress(min, max, value) {\n return max - min === 0 ? 1 : (value - min) / (max - min);\n};\n\nvar SCROLL_KEYS = {\n x: {\n length: 'Width',\n position: 'Left'\n },\n y: {\n length: 'Height',\n position: 'Top'\n }\n};\n\nvar ScrollHandler = function ScrollHandler(callback, container) {\n var _this = this;\n\n _classCallCheck(this, ScrollHandler);\n\n this.callback = void 0;\n this.container = void 0;\n this.info = void 0;\n\n this.createAxis = function () {\n return {\n current: 0,\n progress: 0,\n scrollLength: 0\n };\n };\n\n this.updateAxis = function (axisName) {\n var axis = _this.info[axisName];\n var _SCROLL_KEYS$axisName = SCROLL_KEYS[axisName],\n length = _SCROLL_KEYS$axisName.length,\n position = _SCROLL_KEYS$axisName.position;\n axis.current = _this.container[\"scroll\".concat(position)];\n axis.scrollLength = _this.container['scroll' + length] - _this.container['client' + length];\n axis.progress = progress(0, axis.scrollLength, axis.current);\n };\n\n this.update = function () {\n _this.updateAxis('x');\n\n _this.updateAxis('y');\n };\n\n this.sendEvent = function () {\n _this.callback(_this.info);\n };\n\n this.advance = function () {\n _this.update();\n\n _this.sendEvent();\n };\n\n this.callback = callback;\n this.container = container;\n this.info = {\n time: 0,\n x: this.createAxis(),\n y: this.createAxis()\n };\n};\n\nvar scrollListeners = new WeakMap();\nvar resizeListeners = new WeakMap();\nvar onScrollHandlers = new WeakMap();\n\nvar getTarget = function getTarget(container) {\n return container === document.documentElement ? window : container;\n};\n\nvar onScroll = function onScroll(callback) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref3$container = _ref3.container,\n _container = _ref3$container === void 0 ? document.documentElement : _ref3$container;\n\n var containerHandlers = onScrollHandlers.get(_container);\n\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(_container, containerHandlers);\n }\n\n var containerHandler = new ScrollHandler(callback, _container);\n containerHandlers.add(containerHandler);\n\n if (!scrollListeners.has(_container)) {\n var listener = function listener() {\n var _containerHandlers;\n\n (_containerHandlers = containerHandlers) == null ? void 0 : _containerHandlers.forEach(function (handler) {\n return handler.advance();\n });\n return true;\n };\n\n scrollListeners.set(_container, listener);\n var target = getTarget(_container);\n window.addEventListener('resize', listener, {\n passive: true\n });\n\n if (_container !== document.documentElement) {\n resizeListeners.set(_container, onResize(listener, {\n container: _container\n }));\n }\n\n target.addEventListener('scroll', listener, {\n passive: true\n });\n }\n\n var animateScroll = scrollListeners.get(_container);\n raf(animateScroll);\n return function () {\n raf.cancel(animateScroll);\n var containerHandlers = onScrollHandlers.get(_container);\n if (!containerHandlers) return;\n containerHandlers[\"delete\"](containerHandler);\n if (containerHandlers.size) return;\n var listener = scrollListeners.get(_container);\n scrollListeners[\"delete\"](_container);\n\n if (listener) {\n var _resizeListeners$get;\n\n getTarget(_container).removeEventListener('scroll', listener);\n window.removeEventListener('resize', listener);\n (_resizeListeners$get = resizeListeners.get(_container)) == null ? void 0 : _resizeListeners$get();\n }\n };\n};\n\nfunction useConstant(init) {\n var ref = useRef(null);\n\n if (ref.current === null) {\n ref.current = init();\n }\n\n return ref.current;\n}\n\nvar useIsomorphicLayoutEffect = isSSR() ? useEffect : useLayoutEffect;\n\nvar useIsMounted = function useIsMounted() {\n var isMounted = useRef(false);\n useIsomorphicLayoutEffect(function () {\n isMounted.current = true;\n return function () {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n var update = useState()[1];\n var isMounted = useIsMounted();\n return function () {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n var _useState = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n }),\n _useState2 = _slicedToArray(_useState, 1),\n initial = _useState2[0];\n\n var committed = useRef();\n var prevCache = committed.current;\n var cache = prevCache;\n\n if (cache) {\n var useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs: inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(function () {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (var i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nvar useOnce = function useOnce(effect) {\n return useEffect(effect, emptyDeps);\n};\n\nvar emptyDeps = [];\n\nfunction usePrev(value) {\n var prevRef = useRef();\n useEffect(function () {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nvar useReducedMotion = function useReducedMotion() {\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n reducedMotion = _useState4[0],\n setReducedMotion = _useState4[1];\n\n useIsomorphicLayoutEffect(function () {\n var mql = window.matchMedia('(prefers-reduced-motion)');\n\n var handleMediaChange = function handleMediaChange(e) {\n setReducedMotion(e.matches);\n assign({\n skipAnimation: e.matches\n });\n };\n\n handleMediaChange(mql);\n mql.addEventListener('change', handleMediaChange);\n return function () {\n mql.removeEventListener('change', handleMediaChange);\n };\n }, []);\n return reducedMotion;\n};\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, clamp, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, easings, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, onResize, onScroll, once, prefix, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useConstant, useForceUpdate, useIsomorphicLayoutEffect, useMemoOne, useOnce, usePrev, useReducedMotion };","/**\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 */\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is'); // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar _marked = /*#__PURE__*/_regeneratorRuntime.mark(filterIterable),\n _marked2 = /*#__PURE__*/_regeneratorRuntime.mark(concatIterables);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof2(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport react from 'react';\nimport reactDom from 'react-dom';\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction err(message) {\n var error = new Error(message); // In V8, Error objects keep the closure scope chain alive until the\n // err.stack property is accessed.\n\n if (error.stack === undefined) {\n // IE sets the stack only if error is thrown\n try {\n throw error;\n } catch (_) {} // eslint-disable-line fb-www/no-unused-catch-bindings, no-empty\n\n }\n\n return error;\n}\n\nvar err_1 = err; // @oss-only\n\nvar Recoil_err = err_1;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n// Split declaration and implementation to allow this function to pretend to\n// check for actual instance of Promise instead of something with a `then`\n// method.\n// eslint-disable-next-line no-redeclare\n\nfunction isPromise(p) {\n return !!p && typeof p.then === 'function';\n}\n\nvar Recoil_isPromise = isPromise;\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n\n throw Recoil_err(message !== null && message !== void 0 ? message : 'Got unexpected null or undefined');\n}\n\nvar Recoil_nullthrows = nullthrows;\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar BaseLoadable = /*#__PURE__*/function () {\n function BaseLoadable() {\n _classCallCheck(this, BaseLoadable);\n }\n\n _createClass(BaseLoadable, [{\n key: \"getValue\",\n value: function getValue() {\n throw Recoil_err('BaseLoadable');\n }\n }, {\n key: \"toPromise\",\n value: function toPromise() {\n throw Recoil_err('BaseLoadable');\n }\n }, {\n key: \"valueMaybe\",\n value: function valueMaybe() {\n throw Recoil_err('BaseLoadable');\n }\n }, {\n key: \"valueOrThrow\",\n value: function valueOrThrow() {\n // $FlowFixMe[prop-missing]\n throw Recoil_err(\"Loadable expected value, but in \\\"\".concat(this.state, \"\\\" state\"));\n }\n }, {\n key: \"promiseMaybe\",\n value: function promiseMaybe() {\n throw Recoil_err('BaseLoadable');\n }\n }, {\n key: \"promiseOrThrow\",\n value: function promiseOrThrow() {\n // $FlowFixMe[prop-missing]\n throw Recoil_err(\"Loadable expected promise, but in \\\"\".concat(this.state, \"\\\" state\"));\n }\n }, {\n key: \"errorMaybe\",\n value: function errorMaybe() {\n throw Recoil_err('BaseLoadable');\n }\n }, {\n key: \"errorOrThrow\",\n value: function errorOrThrow() {\n // $FlowFixMe[prop-missing]\n throw Recoil_err(\"Loadable expected error, but in \\\"\".concat(this.state, \"\\\" state\"));\n }\n }, {\n key: \"is\",\n value: function is(other) {\n // $FlowFixMe[prop-missing]\n return other.state === this.state && other.contents === this.contents;\n }\n }, {\n key: \"map\",\n value: function map(_map) {\n throw Recoil_err('BaseLoadable');\n }\n }]);\n\n return BaseLoadable;\n}();\n\nvar ValueLoadable = /*#__PURE__*/function (_BaseLoadable) {\n _inherits(ValueLoadable, _BaseLoadable);\n\n var _super = _createSuper(ValueLoadable);\n\n function ValueLoadable(value) {\n var _this;\n\n _classCallCheck(this, ValueLoadable);\n\n _this = _super.call(this);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", 'hasValue');\n\n _defineProperty(_assertThisInitialized(_this), \"contents\", void 0);\n\n _this.contents = value;\n return _this;\n }\n\n _createClass(ValueLoadable, [{\n key: \"getValue\",\n value: function getValue() {\n return this.contents;\n }\n }, {\n key: \"toPromise\",\n value: function toPromise() {\n return Promise.resolve(this.contents);\n }\n }, {\n key: \"valueMaybe\",\n value: function valueMaybe() {\n return this.contents;\n }\n }, {\n key: \"valueOrThrow\",\n value: function valueOrThrow() {\n return this.contents;\n }\n }, {\n key: \"promiseMaybe\",\n value: function promiseMaybe() {\n return undefined;\n }\n }, {\n key: \"errorMaybe\",\n value: function errorMaybe() {\n return undefined;\n }\n }, {\n key: \"map\",\n value: function map(_map2) {\n var _this2 = this;\n\n try {\n var next = _map2(this.contents);\n\n return Recoil_isPromise(next) ? loadableWithPromise(next) : isLoadable(next) ? next : loadableWithValue(next);\n } catch (e) {\n return Recoil_isPromise(e) ? // If we \"suspended\", then try again.\n // errors and subsequent retries will be handled in 'loading' case\n // $FlowFixMe[prop-missing]\n loadableWithPromise(e.next(function () {\n return _this2.map(_map2);\n })) : loadableWithError(e);\n }\n }\n }]);\n\n return ValueLoadable;\n}(BaseLoadable);\n\nvar ErrorLoadable = /*#__PURE__*/function (_BaseLoadable2) {\n _inherits(ErrorLoadable, _BaseLoadable2);\n\n var _super2 = _createSuper(ErrorLoadable);\n\n function ErrorLoadable(error) {\n var _this3;\n\n _classCallCheck(this, ErrorLoadable);\n\n _this3 = _super2.call(this);\n\n _defineProperty(_assertThisInitialized(_this3), \"state\", 'hasError');\n\n _defineProperty(_assertThisInitialized(_this3), \"contents\", void 0);\n\n _this3.contents = error;\n return _this3;\n }\n\n _createClass(ErrorLoadable, [{\n key: \"getValue\",\n value: function getValue() {\n throw this.contents;\n }\n }, {\n key: \"toPromise\",\n value: function toPromise() {\n return Promise.reject(this.contents);\n }\n }, {\n key: \"valueMaybe\",\n value: function valueMaybe() {\n return undefined;\n }\n }, {\n key: \"promiseMaybe\",\n value: function promiseMaybe() {\n return undefined;\n }\n }, {\n key: \"errorMaybe\",\n value: function errorMaybe() {\n return this.contents;\n }\n }, {\n key: \"errorOrThrow\",\n value: function errorOrThrow() {\n return this.contents;\n }\n }, {\n key: \"map\",\n value: function map(_map) {\n // $FlowIssue[incompatible-return]\n return this;\n }\n }]);\n\n return ErrorLoadable;\n}(BaseLoadable);\n\nvar LoadingLoadable = /*#__PURE__*/function (_BaseLoadable3) {\n _inherits(LoadingLoadable, _BaseLoadable3);\n\n var _super3 = _createSuper(LoadingLoadable);\n\n function LoadingLoadable(promise) {\n var _this4;\n\n _classCallCheck(this, LoadingLoadable);\n\n _this4 = _super3.call(this);\n\n _defineProperty(_assertThisInitialized(_this4), \"state\", 'loading');\n\n _defineProperty(_assertThisInitialized(_this4), \"contents\", void 0);\n\n _this4.contents = promise;\n return _this4;\n }\n\n _createClass(LoadingLoadable, [{\n key: \"getValue\",\n value: function getValue() {\n throw this.contents;\n }\n }, {\n key: \"toPromise\",\n value: function toPromise() {\n return this.contents;\n }\n }, {\n key: \"valueMaybe\",\n value: function valueMaybe() {\n return undefined;\n }\n }, {\n key: \"promiseMaybe\",\n value: function promiseMaybe() {\n return this.contents;\n }\n }, {\n key: \"promiseOrThrow\",\n value: function promiseOrThrow() {\n return this.contents;\n }\n }, {\n key: \"errorMaybe\",\n value: function errorMaybe() {\n return undefined;\n }\n }, {\n key: \"map\",\n value: function map(_map3) {\n var _this5 = this;\n\n return loadableWithPromise(this.contents.then(function (value) {\n var next = _map3(value);\n\n if (isLoadable(next)) {\n var nextLoadable = next;\n\n switch (nextLoadable.state) {\n case 'hasValue':\n return nextLoadable.contents;\n\n case 'hasError':\n throw nextLoadable.contents;\n\n case 'loading':\n return nextLoadable.contents;\n }\n } // $FlowIssue[incompatible-return]\n\n\n return next;\n })[\"catch\"](function (e) {\n if (Recoil_isPromise(e)) {\n // we were \"suspended,\" try again\n return e.then(function () {\n return _this5.map(_map3).contents;\n });\n }\n\n throw e;\n }));\n }\n }]);\n\n return LoadingLoadable;\n}(BaseLoadable);\n\nfunction loadableWithValue(value) {\n return Object.freeze(new ValueLoadable(value));\n}\n\nfunction loadableWithError(error) {\n return Object.freeze(new ErrorLoadable(error));\n}\n\nfunction loadableWithPromise(promise) {\n return Object.freeze(new LoadingLoadable(promise));\n}\n\nfunction loadableLoading() {\n return Object.freeze(new LoadingLoadable(new Promise(function () {})));\n}\n\nfunction loadableAllArray(inputs) {\n return inputs.every(function (i) {\n return i.state === 'hasValue';\n }) ? loadableWithValue(inputs.map(function (i) {\n return i.contents;\n })) : inputs.some(function (i) {\n return i.state === 'hasError';\n }) ? loadableWithError(Recoil_nullthrows(inputs.find(function (i) {\n return i.state === 'hasError';\n }), 'Invalid loadable passed to loadableAll').contents) : loadableWithPromise(Promise.all(inputs.map(function (i) {\n return i.contents;\n })));\n}\n\nfunction loadableAll(inputs) {\n var unwrapedInputs = Array.isArray(inputs) ? inputs : Object.getOwnPropertyNames(inputs).map(function (key) {\n return inputs[key];\n });\n var normalizedInputs = unwrapedInputs.map(function (x) {\n return isLoadable(x) ? x : Recoil_isPromise(x) ? loadableWithPromise(x) : loadableWithValue(x);\n });\n var output = loadableAllArray(normalizedInputs);\n return Array.isArray(inputs) ? // $FlowIssue[incompatible-return]\n output : // Object.getOwnPropertyNames() has consistent key ordering with ES6\n // $FlowIssue[incompatible-call]\n output.map(function (outputs) {\n return Object.getOwnPropertyNames(inputs).reduce(function (out, key, idx) {\n return _objectSpread(_objectSpread({}, out), {}, _defineProperty2({}, key, outputs[idx]));\n }, {});\n });\n}\n\nfunction isLoadable(x) {\n return x instanceof BaseLoadable;\n}\n\nvar LoadableStaticInterface = {\n of: function of(value) {\n return Recoil_isPromise(value) ? loadableWithPromise(value) : isLoadable(value) ? value : loadableWithValue(value);\n },\n error: function error(_error) {\n return loadableWithError(_error);\n },\n // $FlowIssue[incompatible-return]\n loading: function loading() {\n return loadableLoading();\n },\n // $FlowIssue[unclear-type]\n all: loadableAll,\n isLoadable: isLoadable\n};\nvar Recoil_Loadable = {\n loadableWithValue: loadableWithValue,\n loadableWithError: loadableWithError,\n loadableWithPromise: loadableWithPromise,\n loadableLoading: loadableLoading,\n loadableAll: loadableAll,\n isLoadable: isLoadable,\n RecoilLoadable: LoadableStaticInterface\n};\nvar Recoil_Loadable_1 = Recoil_Loadable.loadableWithValue;\nvar Recoil_Loadable_2 = Recoil_Loadable.loadableWithError;\nvar Recoil_Loadable_3 = Recoil_Loadable.loadableWithPromise;\nvar Recoil_Loadable_4 = Recoil_Loadable.loadableLoading;\nvar Recoil_Loadable_5 = Recoil_Loadable.loadableAll;\nvar Recoil_Loadable_6 = Recoil_Loadable.isLoadable;\nvar Recoil_Loadable_7 = Recoil_Loadable.RecoilLoadable;\nvar Recoil_Loadable$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n loadableWithValue: Recoil_Loadable_1,\n loadableWithError: Recoil_Loadable_2,\n loadableWithPromise: Recoil_Loadable_3,\n loadableLoading: Recoil_Loadable_4,\n loadableAll: Recoil_Loadable_5,\n isLoadable: Recoil_Loadable_6,\n RecoilLoadable: Recoil_Loadable_7\n});\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar gks = new Map().set('recoil_hamt_2020', true).set('recoil_sync_external_store', true).set('recoil_suppress_rerender_in_callback', true).set('recoil_memory_managament_2020', true);\n\nfunction Recoil_gkx_OSS(gk) {\n var _gks$get;\n\n return (_gks$get = gks.get(gk)) !== null && _gks$get !== void 0 ? _gks$get : false;\n}\n\nRecoil_gkx_OSS.setPass = function (gk) {\n gks.set(gk, true);\n};\n\nRecoil_gkx_OSS.setFail = function (gk) {\n gks.set(gk, false);\n};\n\nRecoil_gkx_OSS.clear = function () {\n gks.clear();\n};\n\nvar Recoil_gkx = Recoil_gkx_OSS; // @oss-only\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction recoverableViolation(message, _projectName) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n error = _ref2.error;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(message, error);\n }\n\n return null;\n}\n\nvar recoverableViolation_1 = recoverableViolation; // @oss-only\n\nvar Recoil_recoverableViolation = recoverableViolation_1;\n\nvar _createMutableSource, _useMutableSource, _useSyncExternalStore;\n\nvar createMutableSource = // flowlint-next-line unclear-type:off\n(_createMutableSource = react.createMutableSource) !== null && _createMutableSource !== void 0 ? _createMutableSource : react.unstable_createMutableSource;\nvar useMutableSource = // flowlint-next-line unclear-type:off\n(_useMutableSource = react.useMutableSource) !== null && _useMutableSource !== void 0 ? _useMutableSource : react.unstable_useMutableSource; // https://github.com/reactwg/react-18/discussions/86\n\nvar useSyncExternalStore = // flowlint-next-line unclear-type:off\n(_useSyncExternalStore = react.useSyncExternalStore) !== null && _useSyncExternalStore !== void 0 ? _useSyncExternalStore : // flowlint-next-line unclear-type:off\nreact.unstable_useSyncExternalStore;\nvar ReactRendererVersionMismatchWarnOnce = false; // Check if the current renderer supports `useSyncExternalStore()`.\n// Since React goes through a proxy dispatcher and the current renderer can\n// change we can't simply check if `React.useSyncExternalStore()` is defined.\n\nfunction currentRendererSupportsUseSyncExternalStore() {\n var _ReactCurrentDispatch; // $FlowFixMe[incompatible-use]\n\n\n var _react$__SECRET_INTER =\n /* $FlowFixMe[prop-missing] This workaround was approved as a safer mechanism\n * to detect if the current renderer supports useSyncExternalStore()\n * https://fb.workplace.com/groups/reactjs/posts/9558682330846963/ */\n react.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n ReactCurrentDispatcher = _react$__SECRET_INTER.ReactCurrentDispatcher,\n ReactCurrentOwner = _react$__SECRET_INTER.ReactCurrentOwner;\n var dispatcher = (_ReactCurrentDispatch = ReactCurrentDispatcher === null || ReactCurrentDispatcher === void 0 ? void 0 : ReactCurrentDispatcher.current) !== null && _ReactCurrentDispatch !== void 0 ? _ReactCurrentDispatch : ReactCurrentOwner.currentDispatcher;\n var isUseSyncExternalStoreSupported = dispatcher.useSyncExternalStore != null;\n\n if (useSyncExternalStore && !isUseSyncExternalStoreSupported && !ReactRendererVersionMismatchWarnOnce) {\n ReactRendererVersionMismatchWarnOnce = true;\n Recoil_recoverableViolation('A React renderer without React 18+ API support is being used with React 18+.');\n }\n\n return isUseSyncExternalStoreSupported;\n}\n/**\n * mode: The React API and approach to use for syncing state with React\n * early: Re-renders from Recoil updates occur:\n * 1) earlier\n * 2) in sync with React updates in the same batch\n * 3) before transaction observers instead of after.\n * concurrent: Is the current mode compatible with Concurrent Mode and useTransition()\n */\n\n\nfunction reactMode() {\n // NOTE: This mode is currently broken with some Suspense cases\n // see Recoil_selector-test.js\n if (Recoil_gkx('recoil_transition_support')) {\n return {\n mode: 'TRANSITION_SUPPORT',\n early: true,\n concurrent: true\n };\n }\n\n if (Recoil_gkx('recoil_sync_external_store') && useSyncExternalStore != null) {\n return {\n mode: 'SYNC_EXTERNAL_STORE',\n early: true,\n concurrent: false\n };\n }\n\n if (Recoil_gkx('recoil_mutable_source') && useMutableSource != null && typeof window !== 'undefined' && !window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE) {\n return Recoil_gkx('recoil_suppress_rerender_in_callback') ? {\n mode: 'MUTABLE_SOURCE',\n early: true,\n concurrent: true\n } : {\n mode: 'MUTABLE_SOURCE',\n early: false,\n concurrent: false\n };\n }\n\n return Recoil_gkx('recoil_suppress_rerender_in_callback') ? {\n mode: 'LEGACY',\n early: true,\n concurrent: false\n } : {\n mode: 'LEGACY',\n early: false,\n concurrent: false\n };\n} // TODO Need to figure out if there is a standard/open-source equivalent to see if hot module replacement is happening:\n\n\nfunction isFastRefreshEnabled() {\n // @fb-only: const {isAcceptingUpdate} = require('__debug');\n // @fb-only: return typeof isAcceptingUpdate === 'function' && isAcceptingUpdate();\n return false; // @oss-only\n}\n\nvar Recoil_ReactMode = {\n createMutableSource: createMutableSource,\n useMutableSource: useMutableSource,\n useSyncExternalStore: useSyncExternalStore,\n currentRendererSupportsUseSyncExternalStore: currentRendererSupportsUseSyncExternalStore,\n reactMode: reactMode,\n isFastRefreshEnabled: isFastRefreshEnabled\n};\nvar env = {\n RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED: true\n};\n/**\n * Allow NodeJS/NextJS/etc to set the initial state through process.env variable\n * Note: we don't assume 'process' is available in all runtime environments\n *\n * @see https://github.com/facebookexperimental/Recoil/issues/733\n */\n\nfunction applyProcessEnvFlagOverrides() {\n var _process, _process$env$RECOIL_D, _process$env$RECOIL_D2; // note: this check is needed in addition to the check below, runtime error will occur without it!\n // eslint-disable-next-line fb-www/typeof-undefined\n\n\n if (typeof process === 'undefined') {\n return;\n }\n\n if (((_process = process) === null || _process === void 0 ? void 0 : _process.env) == null) {\n return;\n }\n\n var sanitizedValue = (_process$env$RECOIL_D = process.env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED) === null || _process$env$RECOIL_D === void 0 ? void 0 : (_process$env$RECOIL_D2 = _process$env$RECOIL_D.toLowerCase()) === null || _process$env$RECOIL_D2 === void 0 ? void 0 : _process$env$RECOIL_D2.trim();\n\n if (sanitizedValue == null || sanitizedValue === '') {\n return;\n }\n\n var allowedValues = ['true', 'false'];\n\n if (!allowedValues.includes(sanitizedValue)) {\n throw Recoil_err(\"process.env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED value must be 'true', 'false', or empty: \".concat(sanitizedValue));\n }\n\n env.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED = sanitizedValue === 'true';\n}\n\napplyProcessEnvFlagOverrides();\nvar Recoil_RecoilEnv = env;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n// eslint-disable-next-line no-unused-vars\n\nvar AbstractRecoilValue = /*#__PURE__*/function () {\n function AbstractRecoilValue(newKey) {\n _classCallCheck(this, AbstractRecoilValue);\n\n _defineProperty(this, \"key\", void 0);\n\n this.key = newKey;\n }\n\n _createClass(AbstractRecoilValue, [{\n key: \"toJSON\",\n value: function toJSON() {\n return {\n key: this.key\n };\n }\n }]);\n\n return AbstractRecoilValue;\n}();\n\nvar RecoilState = /*#__PURE__*/function (_AbstractRecoilValue) {\n _inherits(RecoilState, _AbstractRecoilValue);\n\n var _super4 = _createSuper(RecoilState);\n\n function RecoilState() {\n _classCallCheck(this, RecoilState);\n\n return _super4.apply(this, arguments);\n }\n\n return RecoilState;\n}(AbstractRecoilValue);\n\nvar RecoilValueReadOnly = /*#__PURE__*/function (_AbstractRecoilValue2) {\n _inherits(RecoilValueReadOnly, _AbstractRecoilValue2);\n\n var _super5 = _createSuper(RecoilValueReadOnly);\n\n function RecoilValueReadOnly() {\n _classCallCheck(this, RecoilValueReadOnly);\n\n return _super5.apply(this, arguments);\n }\n\n return RecoilValueReadOnly;\n}(AbstractRecoilValue);\n\nfunction isRecoilValue(x) {\n return x instanceof RecoilState || x instanceof RecoilValueReadOnly;\n}\n\nvar Recoil_RecoilValue = {\n AbstractRecoilValue: AbstractRecoilValue,\n RecoilState: RecoilState,\n RecoilValueReadOnly: RecoilValueReadOnly,\n isRecoilValue: isRecoilValue\n};\nvar Recoil_RecoilValue_1 = Recoil_RecoilValue.AbstractRecoilValue;\nvar Recoil_RecoilValue_2 = Recoil_RecoilValue.RecoilState;\nvar Recoil_RecoilValue_3 = Recoil_RecoilValue.RecoilValueReadOnly;\nvar Recoil_RecoilValue_4 = Recoil_RecoilValue.isRecoilValue;\nvar Recoil_RecoilValue$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n AbstractRecoilValue: Recoil_RecoilValue_1,\n RecoilState: Recoil_RecoilValue_2,\n RecoilValueReadOnly: Recoil_RecoilValue_3,\n isRecoilValue: Recoil_RecoilValue_4\n});\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction sprintf(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var index = 0;\n return format.replace(/%s/g, function () {\n return String(args[index++]);\n });\n}\n\nvar sprintf_1 = sprintf;\n\nfunction expectationViolation(format) {\n if (process.env.NODE_ENV !== \"production\") {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var message = sprintf_1.call.apply(sprintf_1, [null, format].concat(args));\n var error = new Error(message);\n error.name = 'Expectation Violation';\n console.error(error);\n }\n}\n\nvar expectationViolation_1 = expectationViolation; // @oss-only\n\nvar Recoil_expectationViolation = expectationViolation_1;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Creates a new iterable whose output is generated by passing the input\n * iterable's values through the mapper function.\n */\n\nfunction mapIterable(iterable, callback) {\n // Use generator to create iterable/iterator\n return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var index, _iterator, _step, value;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = 0;\n _iterator = _createForOfIteratorHelper(iterable);\n _context.prev = 2;\n\n _iterator.s();\n\n case 4:\n if ((_step = _iterator.n()).done) {\n _context.next = 10;\n break;\n }\n\n value = _step.value;\n _context.next = 8;\n return callback(value, index++);\n\n case 8:\n _context.next = 4;\n break;\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](2);\n\n _iterator.e(_context.t0);\n\n case 15:\n _context.prev = 15;\n\n _iterator.f();\n\n return _context.finish(15);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 12, 15, 18]]);\n })();\n}\n\nvar Recoil_mapIterable = mapIterable;\nvar isFastRefreshEnabled$1 = Recoil_ReactMode.isFastRefreshEnabled;\n\nvar DefaultValue = function DefaultValue() {\n _classCallCheck(this, DefaultValue);\n};\n\nvar DEFAULT_VALUE = new DefaultValue(); // flowlint-next-line unclear-type:off\n\nvar nodes = new Map(); // flowlint-next-line unclear-type:off\n\nvar recoilValues = new Map();\n/* eslint-disable no-redeclare */\n\nfunction recoilValuesForKeys(keys) {\n return Recoil_mapIterable(keys, function (key) {\n return Recoil_nullthrows(recoilValues.get(key));\n });\n}\n\nfunction checkForDuplicateAtomKey(key) {\n if (nodes.has(key)) {\n var message = \"Duplicate atom key \\\"\".concat(key, \"\\\". This is a FATAL ERROR in\\n production. But it is safe to ignore this warning if it occurred because of\\n hot module replacement.\");\n\n if (process.env.NODE_ENV !== \"production\") {\n // TODO Figure this out for open-source\n if (!isFastRefreshEnabled$1()) {\n Recoil_expectationViolation(message, 'recoil');\n }\n } else {\n // @fb-only: recoverableViolation(message, 'recoil');\n console.warn(message); // @oss-only\n }\n }\n}\n\nfunction registerNode(node) {\n if (Recoil_RecoilEnv.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED) {\n checkForDuplicateAtomKey(node.key);\n }\n\n nodes.set(node.key, node);\n var recoilValue = node.set == null ? new Recoil_RecoilValue$1.RecoilValueReadOnly(node.key) : new Recoil_RecoilValue$1.RecoilState(node.key);\n recoilValues.set(node.key, recoilValue);\n return recoilValue;\n}\n/* eslint-enable no-redeclare */\n\n\nvar NodeMissingError = /*#__PURE__*/function (_Error) {\n _inherits(NodeMissingError, _Error);\n\n var _super6 = _createSuper(NodeMissingError);\n\n function NodeMissingError() {\n _classCallCheck(this, NodeMissingError);\n\n return _super6.apply(this, arguments);\n }\n\n return NodeMissingError;\n}( /*#__PURE__*/_wrapNativeSuper(Error)); // flowlint-next-line unclear-type:off\n\n\nfunction getNode(key) {\n var node = nodes.get(key);\n\n if (node == null) {\n throw new NodeMissingError(\"Missing definition for RecoilValue: \\\"\".concat(key, \"\\\"\\\"\"));\n }\n\n return node;\n} // flowlint-next-line unclear-type:off\n\n\nfunction getNodeMaybe(key) {\n return nodes.get(key);\n}\n\nvar configDeletionHandlers = new Map();\n\nfunction deleteNodeConfigIfPossible(key) {\n var _node$shouldDeleteCon;\n\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var node = nodes.get(key);\n\n if (node !== null && node !== void 0 && (_node$shouldDeleteCon = node.shouldDeleteConfigOnRelease) !== null && _node$shouldDeleteCon !== void 0 && _node$shouldDeleteCon.call(node)) {\n var _getConfigDeletionHan;\n\n nodes[\"delete\"](key);\n (_getConfigDeletionHan = getConfigDeletionHandler(key)) === null || _getConfigDeletionHan === void 0 ? void 0 : _getConfigDeletionHan();\n configDeletionHandlers[\"delete\"](key);\n }\n}\n\nfunction setConfigDeletionHandler(key, fn) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n if (fn === undefined) {\n configDeletionHandlers[\"delete\"](key);\n } else {\n configDeletionHandlers.set(key, fn);\n }\n}\n\nfunction getConfigDeletionHandler(key) {\n return configDeletionHandlers.get(key);\n}\n\nvar Recoil_Node = {\n nodes: nodes,\n recoilValues: recoilValues,\n registerNode: registerNode,\n getNode: getNode,\n getNodeMaybe: getNodeMaybe,\n deleteNodeConfigIfPossible: deleteNodeConfigIfPossible,\n setConfigDeletionHandler: setConfigDeletionHandler,\n getConfigDeletionHandler: getConfigDeletionHandler,\n recoilValuesForKeys: recoilValuesForKeys,\n NodeMissingError: NodeMissingError,\n DefaultValue: DefaultValue,\n DEFAULT_VALUE: DEFAULT_VALUE\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction enqueueExecution(s, f) {\n f();\n}\n\nvar Recoil_Queue = {\n enqueueExecution: enqueueExecution\n};\n\nfunction createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n}\n\nvar hamt_1 = createCommonjsModule(function (module) {\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n /**\n @fileOverview Hash Array Mapped Trie.\n \n Code based on: https://github.com/exclipy/pdata\n */\n\n\n var hamt = {}; // export\n\n /* Configuration\n ******************************************************************************/\n\n var SIZE = 5;\n var BUCKET_SIZE = Math.pow(2, SIZE);\n var MASK = BUCKET_SIZE - 1;\n var MAX_INDEX_NODE = BUCKET_SIZE / 2;\n var MIN_ARRAY_NODE = BUCKET_SIZE / 4;\n /*\n ******************************************************************************/\n\n var nothing = {};\n\n var constant = function constant(x) {\n return function () {\n return x;\n };\n };\n /**\n Get 32 bit hash of string.\n \n Based on:\n http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery\n */\n\n\n var hash = hamt.hash = function (str) {\n var type = typeof str === 'undefined' ? 'undefined' : _typeof(str);\n if (type === 'number') return str;\n if (type !== 'string') str += '';\n var hash = 0;\n\n for (var i = 0, len = str.length; i < len; ++i) {\n var c = str.charCodeAt(i);\n hash = (hash << 5) - hash + c | 0;\n }\n\n return hash;\n };\n /* Bit Ops\n ******************************************************************************/\n\n /**\n Hamming weight.\n \n Taken from: http://jsperf.com/hamming-weight\n */\n\n\n var popcount = function popcount(x) {\n x -= x >> 1 & 0x55555555;\n x = (x & 0x33333333) + (x >> 2 & 0x33333333);\n x = x + (x >> 4) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n };\n\n var hashFragment = function hashFragment(shift, h) {\n return h >>> shift & MASK;\n };\n\n var toBitmap = function toBitmap(x) {\n return 1 << x;\n };\n\n var fromBitmap = function fromBitmap(bitmap, bit) {\n return popcount(bitmap & bit - 1);\n };\n /* Array Ops\n ******************************************************************************/\n\n /**\n Set a value in an array.\n \n @param mutate Should the input array be mutated?\n @param at Index to change.\n @param v New value\n @param arr Array.\n */\n\n\n var arrayUpdate = function arrayUpdate(mutate, at, v, arr) {\n var out = arr;\n\n if (!mutate) {\n var len = arr.length;\n out = new Array(len);\n\n for (var i = 0; i < len; ++i) {\n out[i] = arr[i];\n }\n }\n\n out[at] = v;\n return out;\n };\n /**\n Remove a value from an array.\n \n @param mutate Should the input array be mutated?\n @param at Index to remove.\n @param arr Array.\n */\n\n\n var arraySpliceOut = function arraySpliceOut(mutate, at, arr) {\n var newLen = arr.length - 1;\n var i = 0;\n var g = 0;\n var out = arr;\n\n if (mutate) {\n i = g = at;\n } else {\n out = new Array(newLen);\n\n while (i < at) {\n out[g++] = arr[i++];\n }\n }\n\n ++i;\n\n while (i <= newLen) {\n out[g++] = arr[i++];\n }\n\n if (mutate) {\n out.length = newLen;\n }\n\n return out;\n };\n /**\n Insert a value into an array.\n \n @param mutate Should the input array be mutated?\n @param at Index to insert at.\n @param v Value to insert,\n @param arr Array.\n */\n\n\n var arraySpliceIn = function arraySpliceIn(mutate, at, v, arr) {\n var len = arr.length;\n\n if (mutate) {\n var _i = len;\n\n while (_i >= at) {\n arr[_i--] = arr[_i];\n }\n\n arr[at] = v;\n return arr;\n }\n\n var i = 0,\n g = 0;\n var out = new Array(len + 1);\n\n while (i < at) {\n out[g++] = arr[i++];\n }\n\n out[at] = v;\n\n while (i < len) {\n out[++g] = arr[i++];\n }\n\n return out;\n };\n /* Node Structures\n ******************************************************************************/\n\n\n var LEAF = 1;\n var COLLISION = 2;\n var INDEX = 3;\n var ARRAY = 4;\n /**\n Empty node.\n */\n\n var empty = {\n __hamt_isEmpty: true\n };\n\n var isEmptyNode = function isEmptyNode(x) {\n return x === empty || x && x.__hamt_isEmpty;\n };\n /**\n Leaf holding a value.\n \n @member edit Edit of the node.\n @member hash Hash of key.\n @member key Key.\n @member value Value stored.\n */\n\n\n var Leaf = function Leaf(edit, hash, key, value) {\n return {\n type: LEAF,\n edit: edit,\n hash: hash,\n key: key,\n value: value,\n _modify: Leaf__modify\n };\n };\n /**\n Leaf holding multiple values with the same hash but different keys.\n \n @member edit Edit of the node.\n @member hash Hash of key.\n @member children Array of collision children node.\n */\n\n\n var Collision = function Collision(edit, hash, children) {\n return {\n type: COLLISION,\n edit: edit,\n hash: hash,\n children: children,\n _modify: Collision__modify\n };\n };\n /**\n Internal node with a sparse set of children.\n \n Uses a bitmap and array to pack children.\n \n @member edit Edit of the node.\n @member mask Bitmap that encode the positions of children in the array.\n @member children Array of child nodes.\n */\n\n\n var IndexedNode = function IndexedNode(edit, mask, children) {\n return {\n type: INDEX,\n edit: edit,\n mask: mask,\n children: children,\n _modify: IndexedNode__modify\n };\n };\n /**\n Internal node with many children.\n \n @member edit Edit of the node.\n @member size Number of children.\n @member children Array of child nodes.\n */\n\n\n var ArrayNode = function ArrayNode(edit, size, children) {\n return {\n type: ARRAY,\n edit: edit,\n size: size,\n children: children,\n _modify: ArrayNode__modify\n };\n };\n /**\n Is `node` a leaf node?\n */\n\n\n var isLeaf = function isLeaf(node) {\n return node === empty || node.type === LEAF || node.type === COLLISION;\n };\n /* Internal node operations.\n ******************************************************************************/\n\n /**\n Expand an indexed node into an array node.\n \n @param edit Current edit.\n @param frag Index of added child.\n @param child Added child.\n @param mask Index node mask before child added.\n @param subNodes Index node children before child added.\n */\n\n\n var expand = function expand(edit, frag, child, bitmap, subNodes) {\n var arr = [];\n var bit = bitmap;\n var count = 0;\n\n for (var i = 0; bit; ++i) {\n if (bit & 1) arr[i] = subNodes[count++];\n bit >>>= 1;\n }\n\n arr[frag] = child;\n return ArrayNode(edit, count + 1, arr);\n };\n /**\n Collapse an array node into a indexed node.\n \n @param edit Current edit.\n @param count Number of elements in new array.\n @param removed Index of removed element.\n @param elements Array node children before remove.\n */\n\n\n var pack = function pack(edit, count, removed, elements) {\n var children = new Array(count - 1);\n var g = 0;\n var bitmap = 0;\n\n for (var i = 0, len = elements.length; i < len; ++i) {\n if (i !== removed) {\n var elem = elements[i];\n\n if (elem && !isEmptyNode(elem)) {\n children[g++] = elem;\n bitmap |= 1 << i;\n }\n }\n }\n\n return IndexedNode(edit, bitmap, children);\n };\n /**\n Merge two leaf nodes.\n \n @param shift Current shift.\n @param h1 Node 1 hash.\n @param n1 Node 1.\n @param h2 Node 2 hash.\n @param n2 Node 2.\n */\n\n\n var mergeLeaves = function mergeLeaves(edit, shift, h1, n1, h2, n2) {\n if (h1 === h2) return Collision(edit, h1, [n2, n1]);\n var subH1 = hashFragment(shift, h1);\n var subH2 = hashFragment(shift, h2);\n return IndexedNode(edit, toBitmap(subH1) | toBitmap(subH2), subH1 === subH2 ? [mergeLeaves(edit, shift + SIZE, h1, n1, h2, n2)] : subH1 < subH2 ? [n1, n2] : [n2, n1]);\n };\n /**\n Update an entry in a collision list.\n \n @param mutate Should mutation be used?\n @param edit Current edit.\n @param keyEq Key compare function.\n @param hash Hash of collision.\n @param list Collision list.\n @param f Update function.\n @param k Key to update.\n @param size Size ref.\n */\n\n\n var updateCollisionList = function updateCollisionList(mutate, edit, keyEq, h, list, f, k, size) {\n var len = list.length;\n\n for (var i = 0; i < len; ++i) {\n var child = list[i];\n\n if (keyEq(k, child.key)) {\n var value = child.value;\n\n var _newValue = f(value);\n\n if (_newValue === value) return list;\n\n if (_newValue === nothing) {\n --size.value;\n return arraySpliceOut(mutate, i, list);\n }\n\n return arrayUpdate(mutate, i, Leaf(edit, h, k, _newValue), list);\n }\n }\n\n var newValue = f();\n if (newValue === nothing) return list;\n ++size.value;\n return arrayUpdate(mutate, len, Leaf(edit, h, k, newValue), list);\n };\n\n var canEditNode = function canEditNode(edit, node) {\n return edit === node.edit;\n };\n /* Editing\n ******************************************************************************/\n\n\n var Leaf__modify = function Leaf__modify(edit, keyEq, shift, f, h, k, size) {\n if (keyEq(k, this.key)) {\n var _v = f(this.value);\n\n if (_v === this.value) return this;else if (_v === nothing) {\n --size.value;\n return empty;\n }\n\n if (canEditNode(edit, this)) {\n this.value = _v;\n return this;\n }\n\n return Leaf(edit, h, k, _v);\n }\n\n var v = f();\n if (v === nothing) return this;\n ++size.value;\n return mergeLeaves(edit, shift, this.hash, this, h, Leaf(edit, h, k, v));\n };\n\n var Collision__modify = function Collision__modify(edit, keyEq, shift, f, h, k, size) {\n if (h === this.hash) {\n var canEdit = canEditNode(edit, this);\n var list = updateCollisionList(canEdit, edit, keyEq, this.hash, this.children, f, k, size);\n if (list === this.children) return this;\n return list.length > 1 ? Collision(edit, this.hash, list) : list[0]; // collapse single element collision list\n }\n\n var v = f();\n if (v === nothing) return this;\n ++size.value;\n return mergeLeaves(edit, shift, this.hash, this, h, Leaf(edit, h, k, v));\n };\n\n var IndexedNode__modify = function IndexedNode__modify(edit, keyEq, shift, f, h, k, size) {\n var mask = this.mask;\n var children = this.children;\n var frag = hashFragment(shift, h);\n var bit = toBitmap(frag);\n var indx = fromBitmap(mask, bit);\n var exists = mask & bit;\n var current = exists ? children[indx] : empty;\n\n var child = current._modify(edit, keyEq, shift + SIZE, f, h, k, size);\n\n if (current === child) return this;\n var canEdit = canEditNode(edit, this);\n var bitmap = mask;\n var newChildren = void 0;\n\n if (exists && isEmptyNode(child)) {\n // remove\n bitmap &= ~bit;\n if (!bitmap) return empty;\n if (children.length <= 2 && isLeaf(children[indx ^ 1])) return children[indx ^ 1]; // collapse\n\n newChildren = arraySpliceOut(canEdit, indx, children);\n } else if (!exists && !isEmptyNode(child)) {\n // add\n if (children.length >= MAX_INDEX_NODE) return expand(edit, frag, child, mask, children);\n bitmap |= bit;\n newChildren = arraySpliceIn(canEdit, indx, child, children);\n } else {\n // modify\n newChildren = arrayUpdate(canEdit, indx, child, children);\n }\n\n if (canEdit) {\n this.mask = bitmap;\n this.children = newChildren;\n return this;\n }\n\n return IndexedNode(edit, bitmap, newChildren);\n };\n\n var ArrayNode__modify = function ArrayNode__modify(edit, keyEq, shift, f, h, k, size) {\n var count = this.size;\n var children = this.children;\n var frag = hashFragment(shift, h);\n var child = children[frag];\n\n var newChild = (child || empty)._modify(edit, keyEq, shift + SIZE, f, h, k, size);\n\n if (child === newChild) return this;\n var canEdit = canEditNode(edit, this);\n var newChildren = void 0;\n\n if (isEmptyNode(child) && !isEmptyNode(newChild)) {\n // add\n ++count;\n newChildren = arrayUpdate(canEdit, frag, newChild, children);\n } else if (!isEmptyNode(child) && isEmptyNode(newChild)) {\n // remove\n --count;\n if (count <= MIN_ARRAY_NODE) return pack(edit, count, frag, children);\n newChildren = arrayUpdate(canEdit, frag, empty, children);\n } else {\n // modify\n newChildren = arrayUpdate(canEdit, frag, newChild, children);\n }\n\n if (canEdit) {\n this.size = count;\n this.children = newChildren;\n return this;\n }\n\n return ArrayNode(edit, count, newChildren);\n };\n\n empty._modify = function (edit, keyEq, shift, f, h, k, size) {\n var v = f();\n if (v === nothing) return empty;\n ++size.value;\n return Leaf(edit, h, k, v);\n };\n /*\n ******************************************************************************/\n\n\n function Map(editable, edit, config, root, size) {\n this._editable = editable;\n this._edit = edit;\n this._config = config;\n this._root = root;\n this._size = size;\n }\n\n Map.prototype.setTree = function (newRoot, newSize) {\n if (this._editable) {\n this._root = newRoot;\n this._size = newSize;\n return this;\n }\n\n return newRoot === this._root ? this : new Map(this._editable, this._edit, this._config, newRoot, newSize);\n };\n /* Queries\n ******************************************************************************/\n\n /**\n Lookup the value for `key` in `map` using a custom `hash`.\n \n Returns the value or `alt` if none.\n */\n\n\n var tryGetHash = hamt.tryGetHash = function (alt, hash, key, map) {\n var node = map._root;\n var shift = 0;\n var keyEq = map._config.keyEq;\n\n while (true) {\n switch (node.type) {\n case LEAF:\n {\n return keyEq(key, node.key) ? node.value : alt;\n }\n\n case COLLISION:\n {\n if (hash === node.hash) {\n var children = node.children;\n\n for (var i = 0, len = children.length; i < len; ++i) {\n var child = children[i];\n if (keyEq(key, child.key)) return child.value;\n }\n }\n\n return alt;\n }\n\n case INDEX:\n {\n var frag = hashFragment(shift, hash);\n var bit = toBitmap(frag);\n\n if (node.mask & bit) {\n node = node.children[fromBitmap(node.mask, bit)];\n shift += SIZE;\n break;\n }\n\n return alt;\n }\n\n case ARRAY:\n {\n node = node.children[hashFragment(shift, hash)];\n\n if (node) {\n shift += SIZE;\n break;\n }\n\n return alt;\n }\n\n default:\n return alt;\n }\n }\n };\n\n Map.prototype.tryGetHash = function (alt, hash, key) {\n return tryGetHash(alt, hash, key, this);\n };\n /**\n Lookup the value for `key` in `map` using internal hash function.\n \n @see `tryGetHash`\n */\n\n\n var tryGet = hamt.tryGet = function (alt, key, map) {\n return tryGetHash(alt, map._config.hash(key), key, map);\n };\n\n Map.prototype.tryGet = function (alt, key) {\n return tryGet(alt, key, this);\n };\n /**\n Lookup the value for `key` in `map` using a custom `hash`.\n \n Returns the value or `undefined` if none.\n */\n\n\n var getHash = hamt.getHash = function (hash, key, map) {\n return tryGetHash(undefined, hash, key, map);\n };\n\n Map.prototype.getHash = function (hash, key) {\n return getHash(hash, key, this);\n };\n /**\n Lookup the value for `key` in `map` using internal hash function.\n \n @see `get`\n */\n\n\n var get = hamt.get = function (key, map) {\n return tryGetHash(undefined, map._config.hash(key), key, map);\n };\n\n Map.prototype.get = function (key, alt) {\n return tryGet(alt, key, this);\n };\n /**\n Does an entry exist for `key` in `map`? Uses custom `hash`.\n */\n\n\n var hasHash = hamt.has = function (hash, key, map) {\n return tryGetHash(nothing, hash, key, map) !== nothing;\n };\n\n Map.prototype.hasHash = function (hash, key) {\n return hasHash(hash, key, this);\n };\n /**\n Does an entry exist for `key` in `map`? Uses internal hash function.\n */\n\n\n var has = hamt.has = function (key, map) {\n return hasHash(map._config.hash(key), key, map);\n };\n\n Map.prototype.has = function (key) {\n return has(key, this);\n };\n\n var defKeyCompare = function defKeyCompare(x, y) {\n return x === y;\n };\n /**\n Create an empty map.\n \n @param config Configuration.\n */\n\n\n hamt.make = function (config) {\n return new Map(0, 0, {\n keyEq: config && config.keyEq || defKeyCompare,\n hash: config && config.hash || hash\n }, empty, 0);\n };\n /**\n Empty map.\n */\n\n\n hamt.empty = hamt.make();\n /**\n Does `map` contain any elements?\n */\n\n var isEmpty = hamt.isEmpty = function (map) {\n return map && !!isEmptyNode(map._root);\n };\n\n Map.prototype.isEmpty = function () {\n return isEmpty(this);\n };\n /* Updates\n ******************************************************************************/\n\n /**\n Alter the value stored for `key` in `map` using function `f` using\n custom hash.\n \n `f` is invoked with the current value for `k` if it exists,\n or no arguments if no such value exists. `modify` will always either\n update or insert a value into the map.\n \n Returns a map with the modified value. Does not alter `map`.\n */\n\n\n var modifyHash = hamt.modifyHash = function (f, hash, key, map) {\n var size = {\n value: map._size\n };\n\n var newRoot = map._root._modify(map._editable ? map._edit : NaN, map._config.keyEq, 0, f, hash, key, size);\n\n return map.setTree(newRoot, size.value);\n };\n\n Map.prototype.modifyHash = function (hash, key, f) {\n return modifyHash(f, hash, key, this);\n };\n /**\n Alter the value stored for `key` in `map` using function `f` using\n internal hash function.\n \n @see `modifyHash`\n */\n\n\n var modify = hamt.modify = function (f, key, map) {\n return modifyHash(f, map._config.hash(key), key, map);\n };\n\n Map.prototype.modify = function (key, f) {\n return modify(f, key, this);\n };\n /**\n Store `value` for `key` in `map` using custom `hash`.\n \n Returns a map with the modified value. Does not alter `map`.\n */\n\n\n var setHash = hamt.setHash = function (hash, key, value, map) {\n return modifyHash(constant(value), hash, key, map);\n };\n\n Map.prototype.setHash = function (hash, key, value) {\n return setHash(hash, key, value, this);\n };\n /**\n Store `value` for `key` in `map` using internal hash function.\n \n @see `setHash`\n */\n\n\n var set = hamt.set = function (key, value, map) {\n return setHash(map._config.hash(key), key, value, map);\n };\n\n Map.prototype.set = function (key, value) {\n return set(key, value, this);\n };\n /**\n Remove the entry for `key` in `map`.\n \n Returns a map with the value removed. Does not alter `map`.\n */\n\n\n var del = constant(nothing);\n\n var removeHash = hamt.removeHash = function (hash, key, map) {\n return modifyHash(del, hash, key, map);\n };\n\n Map.prototype.removeHash = Map.prototype.deleteHash = function (hash, key) {\n return removeHash(hash, key, this);\n };\n /**\n Remove the entry for `key` in `map` using internal hash function.\n \n @see `removeHash`\n */\n\n\n var remove = hamt.remove = function (key, map) {\n return removeHash(map._config.hash(key), key, map);\n };\n\n Map.prototype.remove = Map.prototype[\"delete\"] = function (key) {\n return remove(key, this);\n };\n /* Mutation\n ******************************************************************************/\n\n /**\n Mark `map` as mutable.\n */\n\n\n var beginMutation = hamt.beginMutation = function (map) {\n return new Map(map._editable + 1, map._edit + 1, map._config, map._root, map._size);\n };\n\n Map.prototype.beginMutation = function () {\n return beginMutation(this);\n };\n /**\n Mark `map` as immutable.\n */\n\n\n var endMutation = hamt.endMutation = function (map) {\n map._editable = map._editable && map._editable - 1;\n return map;\n };\n\n Map.prototype.endMutation = function () {\n return endMutation(this);\n };\n /**\n Mutate `map` within the context of `f`.\n @param f\n @param map HAMT\n */\n\n\n var mutate = hamt.mutate = function (f, map) {\n var _transient = beginMutation(map);\n\n f(_transient);\n return endMutation(_transient);\n };\n\n Map.prototype.mutate = function (f) {\n return mutate(f, this);\n };\n /* Traversal\n ******************************************************************************/\n\n /**\n Apply a continuation.\n */\n\n\n var appk = function appk(k) {\n return k && lazyVisitChildren(k[0], k[1], k[2], k[3], k[4]);\n };\n /**\n Recursively visit all values stored in an array of nodes lazily.\n */\n\n\n var lazyVisitChildren = function lazyVisitChildren(len, children, i, f, k) {\n while (i < len) {\n var child = children[i++];\n if (child && !isEmptyNode(child)) return lazyVisit(child, f, [len, children, i, f, k]);\n }\n\n return appk(k);\n };\n /**\n Recursively visit all values stored in `node` lazily.\n */\n\n\n var lazyVisit = function lazyVisit(node, f, k) {\n switch (node.type) {\n case LEAF:\n return {\n value: f(node),\n rest: k\n };\n\n case COLLISION:\n case ARRAY:\n case INDEX:\n var children = node.children;\n return lazyVisitChildren(children.length, children, 0, f, k);\n\n default:\n return appk(k);\n }\n };\n\n var DONE = {\n done: true\n };\n /**\n Javascript iterator over a map.\n */\n\n function MapIterator(v) {\n this.v = v;\n }\n\n MapIterator.prototype.next = function () {\n if (!this.v) return DONE;\n var v0 = this.v;\n this.v = appk(v0.rest);\n return v0;\n };\n\n MapIterator.prototype[Symbol.iterator] = function () {\n return this;\n };\n /**\n Lazily visit each value in map with function `f`.\n */\n\n\n var visit = function visit(map, f) {\n return new MapIterator(lazyVisit(map._root, f));\n };\n /**\n Get a Javascsript iterator of `map`.\n \n Iterates over `[key, value]` arrays.\n */\n\n\n var buildPairs = function buildPairs(x) {\n return [x.key, x.value];\n };\n\n var entries = hamt.entries = function (map) {\n return visit(map, buildPairs);\n };\n\n Map.prototype.entries = Map.prototype[Symbol.iterator] = function () {\n return entries(this);\n };\n /**\n Get array of all keys in `map`.\n \n Order is not guaranteed.\n */\n\n\n var buildKeys = function buildKeys(x) {\n return x.key;\n };\n\n var keys = hamt.keys = function (map) {\n return visit(map, buildKeys);\n };\n\n Map.prototype.keys = function () {\n return keys(this);\n };\n /**\n Get array of all values in `map`.\n \n Order is not guaranteed, duplicates are preserved.\n */\n\n\n var buildValues = function buildValues(x) {\n return x.value;\n };\n\n var values = hamt.values = Map.prototype.values = function (map) {\n return visit(map, buildValues);\n };\n\n Map.prototype.values = function () {\n return values(this);\n };\n /* Fold\n ******************************************************************************/\n\n /**\n Visit every entry in the map, aggregating data.\n \n Order of nodes is not guaranteed.\n \n @param f Function mapping accumulated value, value, and key to new value.\n @param z Starting value.\n @param m HAMT\n */\n\n\n var fold = hamt.fold = function (f, z, m) {\n var root = m._root;\n if (root.type === LEAF) return f(z, root.value, root.key);\n var toVisit = [root.children];\n var children = void 0;\n\n while (children = toVisit.pop()) {\n for (var i = 0, len = children.length; i < len;) {\n var child = children[i++];\n\n if (child && child.type) {\n if (child.type === LEAF) z = f(z, child.value, child.key);else toVisit.push(child.children);\n }\n }\n }\n\n return z;\n };\n\n Map.prototype.fold = function (f, z) {\n return fold(f, z, this);\n };\n /**\n Visit every entry in the map, aggregating data.\n \n Order of nodes is not guaranteed.\n \n @param f Function invoked with value and key\n @param map HAMT\n */\n\n\n var forEach = hamt.forEach = function (f, map) {\n return fold(function (_, value, key) {\n return f(value, key, map);\n }, null, map);\n };\n\n Map.prototype.forEach = function (f) {\n return forEach(f, this);\n };\n /* Aggregate\n ******************************************************************************/\n\n /**\n Get the number of entries in `map`.\n */\n\n\n var count = hamt.count = function (map) {\n return map._size;\n };\n\n Map.prototype.count = function () {\n return count(this);\n };\n\n Object.defineProperty(Map.prototype, 'size', {\n get: Map.prototype.count\n });\n /* Export\n ******************************************************************************/\n\n if (module.exports) {\n module.exports = hamt;\n } else {\n undefined.hamt = hamt;\n }\n});\n\nvar BuiltInMap = /*#__PURE__*/function () {\n function BuiltInMap(existing) {\n _classCallCheck(this, BuiltInMap);\n\n _defineProperty(this, \"_map\", void 0);\n\n this._map = new Map(existing === null || existing === void 0 ? void 0 : existing.entries());\n }\n\n _createClass(BuiltInMap, [{\n key: \"keys\",\n value: function keys() {\n return this._map.keys();\n }\n }, {\n key: \"entries\",\n value: function entries() {\n return this._map.entries();\n }\n }, {\n key: \"get\",\n value: function get(k) {\n return this._map.get(k);\n }\n }, {\n key: \"has\",\n value: function has(k) {\n return this._map.has(k);\n }\n }, {\n key: \"set\",\n value: function set(k, v) {\n this._map.set(k, v);\n\n return this;\n }\n }, {\n key: \"delete\",\n value: function _delete(k) {\n this._map[\"delete\"](k);\n\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return persistentMap(this);\n }\n }, {\n key: \"toMap\",\n value: function toMap() {\n return new Map(this._map);\n }\n }]);\n\n return BuiltInMap;\n}();\n\nvar HashArrayMappedTrieMap = /*#__PURE__*/function () {\n // Because hamt.empty is not a function there is no way to introduce type\n // parameters on it, so empty is typed as HAMTPlusMap.\n // $FlowIssue\n function HashArrayMappedTrieMap(existing) {\n _classCallCheck(this, HashArrayMappedTrieMap);\n\n _defineProperty(this, \"_hamt\", hamt_1.empty.beginMutation());\n\n if (existing instanceof HashArrayMappedTrieMap) {\n var h = existing._hamt.endMutation();\n\n existing._hamt = h.beginMutation();\n this._hamt = h.beginMutation();\n } else if (existing) {\n var _iterator2 = _createForOfIteratorHelper(existing.entries()),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _ref5 = _step2.value;\n\n var _ref4 = _slicedToArray(_ref5, 2);\n\n var k = _ref4[0];\n var v = _ref4[1];\n\n this._hamt.set(k, v);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n\n _createClass(HashArrayMappedTrieMap, [{\n key: \"keys\",\n value: function keys() {\n return this._hamt.keys();\n }\n }, {\n key: \"entries\",\n value: function entries() {\n return this._hamt.entries();\n }\n }, {\n key: \"get\",\n value: function get(k) {\n return this._hamt.get(k);\n }\n }, {\n key: \"has\",\n value: function has(k) {\n return this._hamt.has(k);\n }\n }, {\n key: \"set\",\n value: function set(k, v) {\n this._hamt.set(k, v);\n\n return this;\n }\n }, {\n key: \"delete\",\n value: function _delete(k) {\n this._hamt[\"delete\"](k);\n\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return persistentMap(this);\n }\n }, {\n key: \"toMap\",\n value: function toMap() {\n return new Map(this._hamt);\n }\n }]);\n\n return HashArrayMappedTrieMap;\n}();\n\nfunction persistentMap(existing) {\n if (Recoil_gkx('recoil_hamt_2020')) {\n return new HashArrayMappedTrieMap(existing);\n } else {\n return new BuiltInMap(existing);\n }\n}\n\nvar Recoil_PersistentMap = {\n persistentMap: persistentMap\n};\nvar Recoil_PersistentMap_1 = Recoil_PersistentMap.persistentMap;\nvar Recoil_PersistentMap$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n persistentMap: Recoil_PersistentMap_1\n});\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Returns a set containing all of the values from the first set that are not\n * present in any of the subsequent sets.\n *\n * Note: this is written procedurally (i.e., without filterSet) for performant\n * use in tight loops.\n */\n\nfunction differenceSets(set) {\n var ret = new Set();\n\n for (var _len3 = arguments.length, setsWithValuesToRemove = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n setsWithValuesToRemove[_key3 - 1] = arguments[_key3];\n }\n\n var _iterator3 = _createForOfIteratorHelper(set),\n _step3;\n\n try {\n FIRST: for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var value = _step3.value;\n\n var _iterator4 = _createForOfIteratorHelper(setsWithValuesToRemove),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var otherSet = _step4.value;\n\n if (otherSet.has(value)) {\n continue FIRST;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n ret.add(value);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return ret;\n}\n\nvar Recoil_differenceSets = differenceSets;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Returns a new Map object with the same keys as the original, but with the\n * values replaced with the output of the given callback function.\n */\n\nfunction mapMap(map, callback) {\n var result = new Map();\n map.forEach(function (value, key) {\n result.set(key, callback(value, key));\n });\n return result;\n}\n\nvar Recoil_mapMap = mapMap;\n\nfunction makeGraph() {\n return {\n nodeDeps: new Map(),\n nodeToNodeSubscriptions: new Map()\n };\n}\n\nfunction cloneGraph(graph) {\n return {\n nodeDeps: Recoil_mapMap(graph.nodeDeps, function (s) {\n return new Set(s);\n }),\n nodeToNodeSubscriptions: Recoil_mapMap(graph.nodeToNodeSubscriptions, function (s) {\n return new Set(s);\n })\n };\n} // Note that this overwrites the deps of existing nodes, rather than unioning\n// the new deps with the old deps.\n\n\nfunction mergeDepsIntoGraph(key, newDeps, graph, // If olderGraph is given then we will not overwrite changes made to the given\n// graph compared with olderGraph:\nolderGraph) {\n var nodeDeps = graph.nodeDeps,\n nodeToNodeSubscriptions = graph.nodeToNodeSubscriptions;\n var oldDeps = nodeDeps.get(key);\n\n if (oldDeps && olderGraph && oldDeps !== olderGraph.nodeDeps.get(key)) {\n return;\n } // Update nodeDeps:\n\n\n nodeDeps.set(key, newDeps); // Add new deps to nodeToNodeSubscriptions:\n\n var addedDeps = oldDeps == null ? newDeps : Recoil_differenceSets(newDeps, oldDeps);\n\n var _iterator5 = _createForOfIteratorHelper(addedDeps),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _dep = _step5.value;\n\n if (!nodeToNodeSubscriptions.has(_dep)) {\n nodeToNodeSubscriptions.set(_dep, new Set());\n }\n\n var _existing = Recoil_nullthrows(nodeToNodeSubscriptions.get(_dep));\n\n _existing.add(key);\n } // Remove removed deps from nodeToNodeSubscriptions:\n\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n if (oldDeps) {\n var removedDeps = Recoil_differenceSets(oldDeps, newDeps);\n\n var _iterator6 = _createForOfIteratorHelper(removedDeps),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var dep = _step6.value;\n\n if (!nodeToNodeSubscriptions.has(dep)) {\n return;\n }\n\n var existing = Recoil_nullthrows(nodeToNodeSubscriptions.get(dep));\n existing[\"delete\"](key);\n\n if (existing.size === 0) {\n nodeToNodeSubscriptions[\"delete\"](dep);\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n}\n\nfunction saveDepsToStore(key, deps, store, version) {\n var _storeState$nextTree, _storeState$previousT, _storeState$previousT2, _storeState$previousT3;\n\n var storeState = store.getState();\n\n if (!(version === storeState.currentTree.version || version === ((_storeState$nextTree = storeState.nextTree) === null || _storeState$nextTree === void 0 ? void 0 : _storeState$nextTree.version) || version === ((_storeState$previousT = storeState.previousTree) === null || _storeState$previousT === void 0 ? void 0 : _storeState$previousT.version))) {\n Recoil_recoverableViolation('Tried to save dependencies to a discarded tree');\n } // Merge the dependencies discovered into the store's dependency map\n // for the version that was read:\n\n\n var graph = store.getGraph(version);\n mergeDepsIntoGraph(key, deps, graph); // If this version is not the latest version, also write these dependencies\n // into later versions if they don't already have their own:\n\n if (version === ((_storeState$previousT2 = storeState.previousTree) === null || _storeState$previousT2 === void 0 ? void 0 : _storeState$previousT2.version)) {\n var currentGraph = store.getGraph(storeState.currentTree.version);\n mergeDepsIntoGraph(key, deps, currentGraph, graph);\n }\n\n if (version === ((_storeState$previousT3 = storeState.previousTree) === null || _storeState$previousT3 === void 0 ? void 0 : _storeState$previousT3.version) || version === storeState.currentTree.version) {\n var _storeState$nextTree2;\n\n var nextVersion = (_storeState$nextTree2 = storeState.nextTree) === null || _storeState$nextTree2 === void 0 ? void 0 : _storeState$nextTree2.version;\n\n if (nextVersion !== undefined) {\n var nextGraph = store.getGraph(nextVersion);\n mergeDepsIntoGraph(key, deps, nextGraph, graph);\n }\n }\n}\n\nvar Recoil_Graph = {\n cloneGraph: cloneGraph,\n graph: makeGraph,\n saveDepsToStore: saveDepsToStore\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar nextTreeStateVersion = 0;\n\nvar getNextTreeStateVersion = function getNextTreeStateVersion() {\n return nextTreeStateVersion++;\n};\n\nvar nextStoreID = 0;\n\nvar getNextStoreID = function getNextStoreID() {\n return nextStoreID++;\n};\n\nvar nextComponentID = 0;\n\nvar getNextComponentID = function getNextComponentID() {\n return nextComponentID++;\n};\n\nvar Recoil_Keys = {\n getNextTreeStateVersion: getNextTreeStateVersion,\n getNextStoreID: getNextStoreID,\n getNextComponentID: getNextComponentID\n};\nvar persistentMap$1 = Recoil_PersistentMap$1.persistentMap;\nvar graph = Recoil_Graph.graph;\nvar getNextTreeStateVersion$1 = Recoil_Keys.getNextTreeStateVersion;\n\nfunction makeEmptyTreeState() {\n var version = getNextTreeStateVersion$1();\n return {\n version: version,\n stateID: version,\n transactionMetadata: {},\n dirtyAtoms: new Set(),\n atomValues: persistentMap$1(),\n nonvalidatedAtoms: persistentMap$1()\n };\n}\n\nfunction makeEmptyStoreState() {\n var currentTree = makeEmptyTreeState();\n return {\n currentTree: currentTree,\n nextTree: null,\n previousTree: null,\n commitDepth: 0,\n knownAtoms: new Set(),\n knownSelectors: new Set(),\n transactionSubscriptions: new Map(),\n nodeTransactionSubscriptions: new Map(),\n nodeToComponentSubscriptions: new Map(),\n queuedComponentCallbacks_DEPRECATED: [],\n suspendedComponentResolvers: new Set(),\n graphsByVersion: new Map().set(currentTree.version, graph()),\n retention: {\n referenceCounts: new Map(),\n nodesRetainedByZone: new Map(),\n retainablesToCheckForRelease: new Set()\n },\n nodeCleanupFunctions: new Map()\n };\n}\n\nvar Recoil_State = {\n makeEmptyTreeState: makeEmptyTreeState,\n makeEmptyStoreState: makeEmptyStoreState,\n getNextTreeStateVersion: getNextTreeStateVersion$1\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar RetentionZone = function RetentionZone() {\n _classCallCheck(this, RetentionZone);\n};\n\nfunction retentionZone() {\n return new RetentionZone();\n}\n\nvar Recoil_RetentionZone = {\n RetentionZone: RetentionZone,\n retentionZone: retentionZone\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * Utilities for working with built-in Maps and Sets without mutating them.\n *\n * \n * @format\n * @oncall recoil\n */\n\nfunction setByAddingToSet(set, v) {\n var next = new Set(set);\n next.add(v);\n return next;\n}\n\nfunction setByDeletingFromSet(set, v) {\n var next = new Set(set);\n next[\"delete\"](v);\n return next;\n}\n\nfunction mapBySettingInMap(map, k, v) {\n var next = new Map(map);\n next.set(k, v);\n return next;\n}\n\nfunction mapByUpdatingInMap(map, k, updater) {\n var next = new Map(map);\n next.set(k, updater(next.get(k)));\n return next;\n}\n\nfunction mapByDeletingFromMap(map, k) {\n var next = new Map(map);\n next[\"delete\"](k);\n return next;\n}\n\nfunction mapByDeletingMultipleFromMap(map, ks) {\n var next = new Map(map);\n ks.forEach(function (k) {\n return next[\"delete\"](k);\n });\n return next;\n}\n\nvar Recoil_CopyOnWrite = {\n setByAddingToSet: setByAddingToSet,\n setByDeletingFromSet: setByDeletingFromSet,\n mapBySettingInMap: mapBySettingInMap,\n mapByUpdatingInMap: mapByUpdatingInMap,\n mapByDeletingFromMap: mapByDeletingFromMap,\n mapByDeletingMultipleFromMap: mapByDeletingMultipleFromMap\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Creates a new iterable whose output is generated by passing the input\n * iterable's values through the filter function.\n */\n\nfunction filterIterable(iterable, predicate) {\n var index, _iterator7, _step7, value;\n\n return _regeneratorRuntime.wrap(function filterIterable$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // Use generator to create iterable/iterator\n index = 0;\n _iterator7 = _createForOfIteratorHelper(iterable);\n _context2.prev = 2;\n\n _iterator7.s();\n\n case 4:\n if ((_step7 = _iterator7.n()).done) {\n _context2.next = 11;\n break;\n }\n\n value = _step7.value;\n\n if (!predicate(value, index++)) {\n _context2.next = 9;\n break;\n }\n\n _context2.next = 9;\n return value;\n\n case 9:\n _context2.next = 4;\n break;\n\n case 11:\n _context2.next = 16;\n break;\n\n case 13:\n _context2.prev = 13;\n _context2.t0 = _context2[\"catch\"](2);\n\n _iterator7.e(_context2.t0);\n\n case 16:\n _context2.prev = 16;\n\n _iterator7.f();\n\n return _context2.finish(16);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _marked, null, [[2, 13, 16, 19]]);\n}\n\nvar Recoil_filterIterable = filterIterable;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Return a proxy object based on the provided base and factories objects.\n * The proxy will include all properties of the base object as-is.\n * The factories object contains callbacks to obtain the values of the properies\n * for its keys.\n *\n * This is useful for providing users an object where some properties may be\n * lazily computed only on first access.\n */\n// $FlowIssue[unclear-type]\n\nfunction lazyProxy(base, factories) {\n var proxy = new Proxy(base, {\n // Compute and cache lazy property if not already done.\n get: function get(target, prop) {\n if (!(prop in target) && prop in factories) {\n target[prop] = factories[prop]();\n }\n\n return target[prop];\n },\n // This method allows user to iterate keys as normal\n ownKeys: function ownKeys(target) {\n return Object.keys(target);\n }\n }); // $FlowIssue[incompatible-return]\n\n return proxy;\n}\n\nvar Recoil_lazyProxy = lazyProxy;\nvar getNode$1 = Recoil_Node.getNode,\n getNodeMaybe$1 = Recoil_Node.getNodeMaybe,\n recoilValuesForKeys$1 = Recoil_Node.recoilValuesForKeys;\nvar RetentionZone$1 = Recoil_RetentionZone.RetentionZone;\nvar setByAddingToSet$1 = Recoil_CopyOnWrite.setByAddingToSet; // flowlint-next-line unclear-type:off\n\nvar emptySet = Object.freeze(new Set());\n\nvar ReadOnlyRecoilValueError = /*#__PURE__*/function (_Error2) {\n _inherits(ReadOnlyRecoilValueError, _Error2);\n\n var _super7 = _createSuper(ReadOnlyRecoilValueError);\n\n function ReadOnlyRecoilValueError() {\n _classCallCheck(this, ReadOnlyRecoilValueError);\n\n return _super7.apply(this, arguments);\n }\n\n return ReadOnlyRecoilValueError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction initializeRetentionForNode(store, nodeKey, retainedBy) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return function () {\n return undefined;\n };\n }\n\n var nodesRetainedByZone = store.getState().retention.nodesRetainedByZone;\n\n function addToZone(zone) {\n var set = nodesRetainedByZone.get(zone);\n\n if (!set) {\n nodesRetainedByZone.set(zone, set = new Set());\n }\n\n set.add(nodeKey);\n }\n\n if (retainedBy instanceof RetentionZone$1) {\n addToZone(retainedBy);\n } else if (Array.isArray(retainedBy)) {\n var _iterator8 = _createForOfIteratorHelper(retainedBy),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var zone = _step8.value;\n addToZone(zone);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n\n return function () {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var _store$getState4 = store.getState(),\n retention = _store$getState4.retention;\n\n function deleteFromZone(zone) {\n var set = retention.nodesRetainedByZone.get(zone);\n set === null || set === void 0 ? void 0 : set[\"delete\"](nodeKey);\n\n if (set && set.size === 0) {\n retention.nodesRetainedByZone[\"delete\"](zone);\n }\n }\n\n if (retainedBy instanceof RetentionZone$1) {\n deleteFromZone(retainedBy);\n } else if (Array.isArray(retainedBy)) {\n var _iterator9 = _createForOfIteratorHelper(retainedBy),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var _zone = _step9.value;\n deleteFromZone(_zone);\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n }\n };\n}\n\nfunction initializeNodeIfNewToStore(store, treeState, key, trigger) {\n var storeState = store.getState();\n\n if (storeState.nodeCleanupFunctions.has(key)) {\n return;\n }\n\n var node = getNode$1(key);\n var retentionCleanup = initializeRetentionForNode(store, key, node.retainedBy);\n var nodeCleanup = node.init(store, treeState, trigger);\n storeState.nodeCleanupFunctions.set(key, function () {\n nodeCleanup();\n retentionCleanup();\n });\n}\n\nfunction initializeNode(store, key, trigger) {\n initializeNodeIfNewToStore(store, store.getState().currentTree, key, trigger);\n}\n\nfunction cleanUpNode(store, key) {\n var _state$nodeCleanupFun;\n\n var state = store.getState();\n (_state$nodeCleanupFun = state.nodeCleanupFunctions.get(key)) === null || _state$nodeCleanupFun === void 0 ? void 0 : _state$nodeCleanupFun();\n state.nodeCleanupFunctions[\"delete\"](key);\n} // Get the current value loadable of a node and update the state.\n// Update dependencies and subscriptions for selectors.\n// Update saved value validation for atoms.\n\n\nfunction getNodeLoadable(store, state, key) {\n initializeNodeIfNewToStore(store, state, key, 'get');\n return getNode$1(key).get(store, state);\n} // Peek at the current value loadable for a node without any evaluation or state change\n\n\nfunction peekNodeLoadable(store, state, key) {\n return getNode$1(key).peek(store, state);\n} // Write value directly to state bypassing the Node interface as the node\n// definitions may not have been loaded yet when processing the initial snapshot.\n\n\nfunction setUnvalidatedAtomValue_DEPRECATED(state, key, newValue) {\n var _node$invalidate;\n\n var node = getNodeMaybe$1(key);\n node === null || node === void 0 ? void 0 : (_node$invalidate = node.invalidate) === null || _node$invalidate === void 0 ? void 0 : _node$invalidate.call(node, state);\n return _objectSpread(_objectSpread({}, state), {}, {\n atomValues: state.atomValues.clone()[\"delete\"](key),\n nonvalidatedAtoms: state.nonvalidatedAtoms.clone().set(key, newValue),\n dirtyAtoms: setByAddingToSet$1(state.dirtyAtoms, key)\n });\n} // Return the discovered dependencies and values to be written by setting\n// a node value. (Multiple values may be written due to selectors getting to\n// set upstreams; deps may be discovered because of reads in updater functions.)\n\n\nfunction setNodeValue(store, state, key, newValue) {\n var node = getNode$1(key);\n\n if (node.set == null) {\n throw new ReadOnlyRecoilValueError(\"Attempt to set read-only RecoilValue: \".concat(key));\n }\n\n var set = node.set; // so flow doesn't lose the above refinement.\n\n initializeNodeIfNewToStore(store, state, key, 'set');\n return set(store, state, newValue);\n}\n\nfunction peekNodeInfo(store, state, key) {\n var storeState = store.getState();\n var graph = store.getGraph(state.version);\n var type = getNode$1(key).nodeType;\n return Recoil_lazyProxy({\n type: type\n }, {\n loadable: function loadable() {\n return peekNodeLoadable(store, state, key);\n },\n isActive: function isActive() {\n return storeState.knownAtoms.has(key) || storeState.knownSelectors.has(key);\n },\n isSet: function isSet() {\n return type === 'selector' ? false : state.atomValues.has(key);\n },\n isModified: function isModified() {\n return state.dirtyAtoms.has(key);\n },\n // Report current dependencies. If the node hasn't been evaluated, then\n // dependencies may be missing based on the current state.\n deps: function deps() {\n var _graph$nodeDeps$get;\n\n return recoilValuesForKeys$1((_graph$nodeDeps$get = graph.nodeDeps.get(key)) !== null && _graph$nodeDeps$get !== void 0 ? _graph$nodeDeps$get : []);\n },\n // Reports all \"current\" subscribers. Evaluating other nodes or\n // previous in-progress async evaluations may introduce new subscribers.\n subscribers: function subscribers() {\n var _storeState$nodeToCom, _storeState$nodeToCom2;\n\n return {\n nodes: recoilValuesForKeys$1(Recoil_filterIterable(getDownstreamNodes(store, state, new Set([key])), function (nodeKey) {\n return nodeKey !== key;\n })),\n components: Recoil_mapIterable((_storeState$nodeToCom = (_storeState$nodeToCom2 = storeState.nodeToComponentSubscriptions.get(key)) === null || _storeState$nodeToCom2 === void 0 ? void 0 : _storeState$nodeToCom2.values()) !== null && _storeState$nodeToCom !== void 0 ? _storeState$nodeToCom : [], function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 1),\n name = _ref7[0];\n\n return {\n name: name\n };\n })\n };\n }\n });\n} // Find all of the recursively dependent nodes\n\n\nfunction getDownstreamNodes(store, state, keys) {\n var visitedNodes = new Set();\n var visitingNodes = Array.from(keys);\n var graph = store.getGraph(state.version);\n\n for (var key = visitingNodes.pop(); key; key = visitingNodes.pop()) {\n var _graph$nodeToNodeSubs;\n\n visitedNodes.add(key);\n var subscribedNodes = (_graph$nodeToNodeSubs = graph.nodeToNodeSubscriptions.get(key)) !== null && _graph$nodeToNodeSubs !== void 0 ? _graph$nodeToNodeSubs : emptySet;\n\n var _iterator10 = _createForOfIteratorHelper(subscribedNodes),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var downstreamNode = _step10.value;\n\n if (!visitedNodes.has(downstreamNode)) {\n visitingNodes.push(downstreamNode);\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n }\n\n return visitedNodes;\n}\n\nvar Recoil_FunctionalCore = {\n getNodeLoadable: getNodeLoadable,\n peekNodeLoadable: peekNodeLoadable,\n setNodeValue: setNodeValue,\n initializeNode: initializeNode,\n cleanUpNode: cleanUpNode,\n setUnvalidatedAtomValue_DEPRECATED: setUnvalidatedAtomValue_DEPRECATED,\n peekNodeInfo: peekNodeInfo,\n getDownstreamNodes: getDownstreamNodes\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar _invalidateMemoizedSnapshot = null;\n\nfunction setInvalidateMemoizedSnapshot(invalidate) {\n _invalidateMemoizedSnapshot = invalidate;\n}\n\nfunction invalidateMemoizedSnapshot() {\n var _invalidateMemoizedSn;\n\n (_invalidateMemoizedSn = _invalidateMemoizedSnapshot) === null || _invalidateMemoizedSn === void 0 ? void 0 : _invalidateMemoizedSn();\n}\n\nvar Recoil_SnapshotCache = {\n setInvalidateMemoizedSnapshot: setInvalidateMemoizedSnapshot,\n invalidateMemoizedSnapshot: invalidateMemoizedSnapshot\n};\nvar getDownstreamNodes$1 = Recoil_FunctionalCore.getDownstreamNodes,\n getNodeLoadable$1 = Recoil_FunctionalCore.getNodeLoadable,\n setNodeValue$1 = Recoil_FunctionalCore.setNodeValue;\nvar getNextComponentID$1 = Recoil_Keys.getNextComponentID;\nvar getNode$2 = Recoil_Node.getNode,\n getNodeMaybe$2 = Recoil_Node.getNodeMaybe;\nvar DefaultValue$1 = Recoil_Node.DefaultValue;\nvar reactMode$1 = Recoil_ReactMode.reactMode;\nvar AbstractRecoilValue$1 = Recoil_RecoilValue$1.AbstractRecoilValue,\n RecoilState$1 = Recoil_RecoilValue$1.RecoilState,\n RecoilValueReadOnly$1 = Recoil_RecoilValue$1.RecoilValueReadOnly,\n isRecoilValue$1 = Recoil_RecoilValue$1.isRecoilValue;\nvar invalidateMemoizedSnapshot$1 = Recoil_SnapshotCache.invalidateMemoizedSnapshot;\n\nfunction getRecoilValueAsLoadable(store, _ref8) {\n var key = _ref8.key;\n var treeState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : store.getState().currentTree;\n\n var _storeState$nextTree, _storeState$previousT; // Reading from an older tree can cause bugs because the dependencies that we\n // discover during the read are lost.\n\n\n var storeState = store.getState();\n\n if (!(treeState.version === storeState.currentTree.version || treeState.version === ((_storeState$nextTree = storeState.nextTree) === null || _storeState$nextTree === void 0 ? void 0 : _storeState$nextTree.version) || treeState.version === ((_storeState$previousT = storeState.previousTree) === null || _storeState$previousT === void 0 ? void 0 : _storeState$previousT.version))) {\n Recoil_recoverableViolation('Tried to read from a discarded tree');\n }\n\n var loadable = getNodeLoadable$1(store, treeState, key);\n\n if (loadable.state === 'loading') {\n loadable.contents[\"catch\"](function () {\n /**\n * HACK: intercept thrown error here to prevent an uncaught promise exception. Ideally this would happen closer to selector\n * execution (perhaps introducing a new ERROR class to be resolved by async selectors that are in an error state)\n */\n return;\n });\n }\n\n return loadable;\n}\n\nfunction applyAtomValueWrites(atomValues, writes) {\n var result = atomValues.clone();\n writes.forEach(function (v, k) {\n if (v.state === 'hasValue' && v.contents instanceof DefaultValue$1) {\n result[\"delete\"](k);\n } else {\n result.set(k, v);\n }\n });\n return result;\n}\n\nfunction valueFromValueOrUpdater(store, state, _ref9, valueOrUpdater) {\n var key = _ref9.key;\n\n if (typeof valueOrUpdater === 'function') {\n // Updater form: pass in the current value. Throw if the current value\n // is unavailable (namely when updating an async selector that's\n // pending or errored):\n var current = getNodeLoadable$1(store, state, key);\n\n if (current.state === 'loading') {\n var msg = \"Tried to set atom or selector \\\"\".concat(key, \"\\\" using an updater function while the current state is pending, this is not currently supported.\");\n Recoil_recoverableViolation(msg);\n throw Recoil_err(msg);\n } else if (current.state === 'hasError') {\n throw current.contents;\n } // T itself may be a function, so our refinement is not sufficient:\n\n\n return valueOrUpdater(current.contents); // flowlint-line unclear-type:off\n } else {\n return valueOrUpdater;\n }\n}\n\nfunction applyAction(store, state, action) {\n if (action.type === 'set') {\n var recoilValue = action.recoilValue,\n valueOrUpdater = action.valueOrUpdater;\n var newValue = valueFromValueOrUpdater(store, state, recoilValue, valueOrUpdater);\n var writes = setNodeValue$1(store, state, recoilValue.key, newValue);\n\n var _iterator11 = _createForOfIteratorHelper(writes.entries()),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var _ref12 = _step11.value;\n\n var _ref11 = _slicedToArray(_ref12, 2);\n\n var key = _ref11[0];\n var loadable = _ref11[1];\n writeLoadableToTreeState(state, key, loadable);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n } else if (action.type === 'setLoadable') {\n var _key4 = action.recoilValue.key,\n _loadable = action.loadable;\n writeLoadableToTreeState(state, _key4, _loadable);\n } else if (action.type === 'markModified') {\n var _key5 = action.recoilValue.key;\n state.dirtyAtoms.add(_key5);\n } else if (action.type === 'setUnvalidated') {\n var _node$invalidate; // Write value directly to state bypassing the Node interface as the node\n // definitions may not have been loaded yet when processing the initial snapshot.\n\n\n var _key6 = action.recoilValue.key,\n unvalidatedValue = action.unvalidatedValue;\n var node = getNodeMaybe$2(_key6);\n node === null || node === void 0 ? void 0 : (_node$invalidate = node.invalidate) === null || _node$invalidate === void 0 ? void 0 : _node$invalidate.call(node, state);\n state.atomValues[\"delete\"](_key6);\n state.nonvalidatedAtoms.set(_key6, unvalidatedValue);\n state.dirtyAtoms.add(_key6);\n } else {\n Recoil_recoverableViolation(\"Unknown action \".concat(action.type));\n }\n}\n\nfunction writeLoadableToTreeState(state, key, loadable) {\n if (loadable.state === 'hasValue' && loadable.contents instanceof DefaultValue$1) {\n state.atomValues[\"delete\"](key);\n } else {\n state.atomValues.set(key, loadable);\n }\n\n state.dirtyAtoms.add(key);\n state.nonvalidatedAtoms[\"delete\"](key);\n}\n\nfunction applyActionsToStore(store, actions) {\n store.replaceState(function (state) {\n var newState = copyTreeState(state);\n\n var _iterator12 = _createForOfIteratorHelper(actions),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var action = _step12.value;\n applyAction(store, newState, action);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n invalidateDownstreams(store, newState);\n invalidateMemoizedSnapshot$1();\n return newState;\n });\n}\n\nfunction queueOrPerformStateUpdate(store, action) {\n if (batchStack.length) {\n var actionsByStore = batchStack[batchStack.length - 1];\n var actions = actionsByStore.get(store);\n\n if (!actions) {\n actionsByStore.set(store, actions = []);\n }\n\n actions.push(action);\n } else {\n applyActionsToStore(store, [action]);\n }\n}\n\nvar batchStack = [];\n\nfunction batchStart() {\n var actionsByStore = new Map();\n batchStack.push(actionsByStore);\n return function () {\n var _iterator13 = _createForOfIteratorHelper(actionsByStore),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var _ref15 = _step13.value;\n\n var _ref14 = _slicedToArray(_ref15, 2);\n\n var store = _ref14[0];\n var actions = _ref14[1];\n applyActionsToStore(store, actions);\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n var popped = batchStack.pop();\n\n if (popped !== actionsByStore) {\n Recoil_recoverableViolation('Incorrect order of batch popping');\n }\n };\n}\n\nfunction copyTreeState(state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n atomValues: state.atomValues.clone(),\n nonvalidatedAtoms: state.nonvalidatedAtoms.clone(),\n dirtyAtoms: new Set(state.dirtyAtoms)\n });\n}\n\nfunction invalidateDownstreams(store, state) {\n // Inform any nodes that were changed or downstream of changes so that they\n // can clear out any caches as needed due to the update:\n var downstreams = getDownstreamNodes$1(store, state, state.dirtyAtoms);\n\n var _iterator14 = _createForOfIteratorHelper(downstreams),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var key = _step14.value;\n\n var _getNodeMaybe, _getNodeMaybe$invalid;\n\n (_getNodeMaybe = getNodeMaybe$2(key)) === null || _getNodeMaybe === void 0 ? void 0 : (_getNodeMaybe$invalid = _getNodeMaybe.invalidate) === null || _getNodeMaybe$invalid === void 0 ? void 0 : _getNodeMaybe$invalid.call(_getNodeMaybe, state);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n}\n\nfunction setRecoilValue(store, recoilValue, valueOrUpdater) {\n queueOrPerformStateUpdate(store, {\n type: 'set',\n recoilValue: recoilValue,\n valueOrUpdater: valueOrUpdater\n });\n}\n\nfunction setRecoilValueLoadable(store, recoilValue, loadable) {\n if (loadable instanceof DefaultValue$1) {\n return setRecoilValue(store, recoilValue, loadable);\n }\n\n queueOrPerformStateUpdate(store, {\n type: 'setLoadable',\n recoilValue: recoilValue,\n loadable: loadable\n });\n}\n\nfunction markRecoilValueModified(store, recoilValue) {\n queueOrPerformStateUpdate(store, {\n type: 'markModified',\n recoilValue: recoilValue\n });\n}\n\nfunction setUnvalidatedRecoilValue(store, recoilValue, unvalidatedValue) {\n queueOrPerformStateUpdate(store, {\n type: 'setUnvalidated',\n recoilValue: recoilValue,\n unvalidatedValue: unvalidatedValue\n });\n}\n\nfunction subscribeToRecoilValue(store, _ref16, callback) {\n var key = _ref16.key;\n var componentDebugName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var subID = getNextComponentID$1();\n var storeState = store.getState();\n\n if (!storeState.nodeToComponentSubscriptions.has(key)) {\n storeState.nodeToComponentSubscriptions.set(key, new Map());\n }\n\n Recoil_nullthrows(storeState.nodeToComponentSubscriptions.get(key)).set(subID, [componentDebugName !== null && componentDebugName !== void 0 ? componentDebugName : '', callback]); // Handle the case that, during the same tick that we are subscribing, an atom\n // has been updated by some effect handler. Otherwise we will miss the update.\n\n var mode = reactMode$1();\n\n if (mode.early && (mode.mode === 'LEGACY' || mode.mode === 'MUTABLE_SOURCE')) {\n var nextTree = store.getState().nextTree;\n\n if (nextTree && nextTree.dirtyAtoms.has(key)) {\n callback(nextTree);\n }\n }\n\n return {\n release: function release() {\n var releaseStoreState = store.getState();\n var subs = releaseStoreState.nodeToComponentSubscriptions.get(key);\n\n if (subs === undefined || !subs.has(subID)) {\n Recoil_recoverableViolation(\"Subscription missing at release time for atom \".concat(key, \". This is a bug in Recoil.\"));\n return;\n }\n\n subs[\"delete\"](subID);\n\n if (subs.size === 0) {\n releaseStoreState.nodeToComponentSubscriptions[\"delete\"](key);\n }\n }\n };\n}\n\nfunction refreshRecoilValue(store, recoilValue) {\n var _node$clearCache;\n\n var _store$getState5 = store.getState(),\n currentTree = _store$getState5.currentTree;\n\n var node = getNode$2(recoilValue.key);\n (_node$clearCache = node.clearCache) === null || _node$clearCache === void 0 ? void 0 : _node$clearCache.call(node, store, currentTree);\n}\n\nvar Recoil_RecoilValueInterface = {\n RecoilValueReadOnly: RecoilValueReadOnly$1,\n AbstractRecoilValue: AbstractRecoilValue$1,\n RecoilState: RecoilState$1,\n getRecoilValueAsLoadable: getRecoilValueAsLoadable,\n setRecoilValue: setRecoilValue,\n setRecoilValueLoadable: setRecoilValueLoadable,\n markRecoilValueModified: markRecoilValueModified,\n setUnvalidatedRecoilValue: setUnvalidatedRecoilValue,\n subscribeToRecoilValue: subscribeToRecoilValue,\n isRecoilValue: isRecoilValue$1,\n applyAtomValueWrites: applyAtomValueWrites,\n // TODO Remove export when deprecating initialStoreState_DEPRECATED in RecoilRoot\n batchStart: batchStart,\n writeLoadableToTreeState: writeLoadableToTreeState,\n invalidateDownstreams: invalidateDownstreams,\n copyTreeState: copyTreeState,\n refreshRecoilValue: refreshRecoilValue\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * The someSet() method tests whether some elements in the given Set pass the\n * test implemented by the provided function.\n */\n\nfunction someSet(set, callback, context) {\n var iterator = set.entries();\n var current = iterator.next();\n\n while (!current.done) {\n var entry = current.value;\n\n if (callback.call(context, entry[1], entry[0], set)) {\n return true;\n }\n\n current = iterator.next();\n }\n\n return false;\n}\n\nvar Recoil_someSet = someSet;\nvar cleanUpNode$1 = Recoil_FunctionalCore.cleanUpNode;\nvar deleteNodeConfigIfPossible$1 = Recoil_Node.deleteNodeConfigIfPossible,\n getNode$3 = Recoil_Node.getNode;\nvar RetentionZone$2 = Recoil_RetentionZone.RetentionZone; // Components that aren't mounted after suspending for this long will be assumed\n// to be discarded and their resources released.\n\nvar SUSPENSE_TIMEOUT_MS = 120000;\nvar emptySet$1 = new Set();\n\nfunction releaseRetainablesNowOnCurrentTree(store, retainables) {\n var storeState = store.getState();\n var treeState = storeState.currentTree;\n\n if (storeState.nextTree) {\n Recoil_recoverableViolation('releaseNodesNowOnCurrentTree should only be called at the end of a batch');\n return; // leak memory rather than erase something that's about to be used.\n }\n\n var nodes = new Set();\n\n var _iterator15 = _createForOfIteratorHelper(retainables),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var r = _step15.value;\n\n if (r instanceof RetentionZone$2) {\n var _iterator17 = _createForOfIteratorHelper(nodesRetainedByZone(storeState, r)),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var n = _step17.value;\n nodes.add(n);\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n } else {\n nodes.add(r);\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n var releasableNodes = findReleasableNodes(store, nodes);\n\n var _iterator16 = _createForOfIteratorHelper(releasableNodes),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var node = _step16.value;\n releaseNode(store, treeState, node);\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n}\n\nfunction findReleasableNodes(store, searchFromNodes) {\n var storeState = store.getState();\n var treeState = storeState.currentTree;\n var graph = store.getGraph(treeState.version);\n var releasableNodes = new Set(); // mutated to collect answer\n\n var nonReleasableNodes = new Set();\n findReleasableNodesInner(searchFromNodes);\n return releasableNodes;\n\n function findReleasableNodesInner(searchFromNodes) {\n var releasableNodesFoundThisIteration = new Set();\n var downstreams = getDownstreamNodesInTopologicalOrder(store, treeState, searchFromNodes, releasableNodes, // don't descend into these\n nonReleasableNodes // don't descend into these\n ); // Find which of the downstream nodes are releasable and which are not:\n\n var _iterator18 = _createForOfIteratorHelper(downstreams),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var node = _step18.value;\n\n var _storeState$retention; // Not releasable if configured to be retained forever:\n\n\n if (getNode$3(node).retainedBy === 'recoilRoot') {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if retained directly by a component:\n\n\n if (((_storeState$retention = storeState.retention.referenceCounts.get(node)) !== null && _storeState$retention !== void 0 ? _storeState$retention : 0) > 0) {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if retained by a zone:\n\n\n if (zonesThatCouldRetainNode(node).some(function (z) {\n return storeState.retention.referenceCounts.get(z);\n })) {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if it has a non-releasable child (which will already be in\n // nonReleasableNodes because we are going in topological order):\n\n\n var nodeChildren = graph.nodeToNodeSubscriptions.get(node);\n\n if (nodeChildren && Recoil_someSet(nodeChildren, function (child) {\n return nonReleasableNodes.has(child);\n })) {\n nonReleasableNodes.add(node);\n continue;\n }\n\n releasableNodes.add(node);\n releasableNodesFoundThisIteration.add(node);\n } // If we found any releasable nodes, we need to walk UP from those nodes to\n // find whether their parents can now be released as well:\n\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n\n var parents = new Set();\n\n var _iterator19 = _createForOfIteratorHelper(releasableNodesFoundThisIteration),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var _node5 = _step19.value;\n\n var _iterator20 = _createForOfIteratorHelper((_graph$nodeDeps$get = graph.nodeDeps.get(_node5)) !== null && _graph$nodeDeps$get !== void 0 ? _graph$nodeDeps$get : emptySet$1),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var parent = _step20.value;\n\n var _graph$nodeDeps$get;\n\n if (!releasableNodes.has(parent)) {\n parents.add(parent);\n }\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n if (parents.size) {\n findReleasableNodesInner(parents);\n }\n }\n} // Children before parents\n\n\nfunction getDownstreamNodesInTopologicalOrder(store, treeState, nodes, // Mutable set is destroyed in place\ndoNotDescendInto1, doNotDescendInto2) {\n var graph = store.getGraph(treeState.version);\n var answer = [];\n var visited = new Set();\n\n while (nodes.size > 0) {\n visit(Recoil_nullthrows(nodes.values().next().value));\n }\n\n return answer;\n\n function visit(node) {\n if (doNotDescendInto1.has(node) || doNotDescendInto2.has(node)) {\n nodes[\"delete\"](node);\n return;\n }\n\n if (visited.has(node)) {\n return;\n }\n\n var children = graph.nodeToNodeSubscriptions.get(node);\n\n if (children) {\n var _iterator21 = _createForOfIteratorHelper(children),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var child = _step21.value;\n visit(child);\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n }\n\n visited.add(node);\n nodes[\"delete\"](node);\n answer.push(node);\n }\n}\n\nfunction releaseNode(store, treeState, node) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n } // Atom effects, in-closure caches, etc.:\n\n\n cleanUpNode$1(store, node); // Delete from store state:\n\n var storeState = store.getState();\n storeState.knownAtoms[\"delete\"](node);\n storeState.knownSelectors[\"delete\"](node);\n storeState.nodeTransactionSubscriptions[\"delete\"](node);\n storeState.retention.referenceCounts[\"delete\"](node);\n var zones = zonesThatCouldRetainNode(node);\n\n var _iterator22 = _createForOfIteratorHelper(zones),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var zone = _step22.value;\n\n var _storeState$retention2;\n\n (_storeState$retention2 = storeState.retention.nodesRetainedByZone.get(zone)) === null || _storeState$retention2 === void 0 ? void 0 : _storeState$retention2[\"delete\"](node);\n } // Note that we DO NOT delete from nodeToComponentSubscriptions because this\n // already happens when the last component that was retaining the node unmounts,\n // and this could happen either before or after that.\n // Delete from TreeState and dep graph:\n\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n\n treeState.atomValues[\"delete\"](node);\n treeState.dirtyAtoms[\"delete\"](node);\n treeState.nonvalidatedAtoms[\"delete\"](node);\n var graph = storeState.graphsByVersion.get(treeState.version);\n\n if (graph) {\n var deps = graph.nodeDeps.get(node);\n\n if (deps !== undefined) {\n graph.nodeDeps[\"delete\"](node);\n\n var _iterator23 = _createForOfIteratorHelper(deps),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n var dep = _step23.value;\n\n var _graph$nodeToNodeSubs;\n\n (_graph$nodeToNodeSubs = graph.nodeToNodeSubscriptions.get(dep)) === null || _graph$nodeToNodeSubs === void 0 ? void 0 : _graph$nodeToNodeSubs[\"delete\"](node);\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n } // No need to delete sub's deps as there should be no subs at this point.\n // But an invariant would require deleting nodes in topological order.\n\n\n graph.nodeToNodeSubscriptions[\"delete\"](node);\n } // Node config (for family members only as their configs can be recreated, and\n // only if they are not retained within any other Stores):\n\n\n deleteNodeConfigIfPossible$1(node);\n}\n\nfunction nodesRetainedByZone(storeState, zone) {\n var _storeState$retention3;\n\n return (_storeState$retention3 = storeState.retention.nodesRetainedByZone.get(zone)) !== null && _storeState$retention3 !== void 0 ? _storeState$retention3 : emptySet$1;\n}\n\nfunction zonesThatCouldRetainNode(node) {\n var retainedBy = getNode$3(node).retainedBy;\n\n if (retainedBy === undefined || retainedBy === 'components' || retainedBy === 'recoilRoot') {\n return [];\n } else if (retainedBy instanceof RetentionZone$2) {\n return [retainedBy];\n } else {\n return retainedBy; // it's an array of zones\n }\n}\n\nfunction scheduleOrPerformPossibleReleaseOfRetainable(store, retainable) {\n var state = store.getState();\n\n if (state.nextTree) {\n state.retention.retainablesToCheckForRelease.add(retainable);\n } else {\n releaseRetainablesNowOnCurrentTree(store, new Set([retainable]));\n }\n}\n\nfunction updateRetainCount(store, retainable, delta) {\n var _map$get;\n\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var map = store.getState().retention.referenceCounts;\n var newCount = ((_map$get = map.get(retainable)) !== null && _map$get !== void 0 ? _map$get : 0) + delta;\n\n if (newCount === 0) {\n updateRetainCountToZero(store, retainable);\n } else {\n map.set(retainable, newCount);\n }\n}\n\nfunction updateRetainCountToZero(store, retainable) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var map = store.getState().retention.referenceCounts;\n map[\"delete\"](retainable);\n scheduleOrPerformPossibleReleaseOfRetainable(store, retainable);\n}\n\nfunction releaseScheduledRetainablesNow(store) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var state = store.getState();\n releaseRetainablesNowOnCurrentTree(store, state.retention.retainablesToCheckForRelease);\n state.retention.retainablesToCheckForRelease.clear();\n}\n\nfunction retainedByOptionWithDefault(r) {\n // The default will change from 'recoilRoot' to 'components' in the future.\n return r === undefined ? 'recoilRoot' : r;\n}\n\nvar Recoil_Retention = {\n SUSPENSE_TIMEOUT_MS: SUSPENSE_TIMEOUT_MS,\n updateRetainCount: updateRetainCount,\n updateRetainCountToZero: updateRetainCountToZero,\n releaseScheduledRetainablesNow: releaseScheduledRetainablesNow,\n retainedByOptionWithDefault: retainedByOptionWithDefault\n};\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 * This is to export esstiential functions from react-dom\n * for our web build\n *\n * \n * @format\n * @oncall recoil\n */\n\nvar unstable_batchedUpdates = reactDom.unstable_batchedUpdates;\nvar ReactBatchedUpdates = {\n unstable_batchedUpdates: unstable_batchedUpdates\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * This is to export esstiential functions from react-dom\n * for our web build\n *\n * \n * @format\n * @oncall recoil\n */\n// @fb-only: const {unstable_batchedUpdates} = require('ReactDOMComet');\n// prettier-ignore\n\nvar unstable_batchedUpdates$1 = ReactBatchedUpdates.unstable_batchedUpdates; // @oss-only\n\nvar Recoil_ReactBatchedUpdates = {\n unstable_batchedUpdates: unstable_batchedUpdates$1\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar batchStart$1 = Recoil_RecoilValueInterface.batchStart;\nvar unstable_batchedUpdates$2 = Recoil_ReactBatchedUpdates.unstable_batchedUpdates;\nvar batcher = unstable_batchedUpdates$2; // flowlint-next-line unclear-type:off\n\n/**\n * Sets the provided batcher function as the batcher function used by Recoil.\n *\n * Set the batcher to a custom batcher for your renderer,\n * if you use a renderer other than React DOM or React Native.\n */\n\nvar setBatcher = function setBatcher(newBatcher) {\n batcher = newBatcher;\n};\n/**\n * Returns the current batcher function.\n */\n\n\nvar getBatcher = function getBatcher() {\n return batcher;\n};\n/**\n * Calls the current batcher function and passes the\n * provided callback function.\n */\n\n\nvar batchUpdates = function batchUpdates(callback) {\n batcher(function () {\n var batchEnd = function batchEnd() {\n return undefined;\n };\n\n try {\n batchEnd = batchStart$1();\n callback();\n } finally {\n batchEnd();\n }\n });\n};\n\nvar Recoil_Batching = {\n getBatcher: getBatcher,\n setBatcher: setBatcher,\n batchUpdates: batchUpdates\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Combines multiple Iterables into a single Iterable.\n * Traverses the input Iterables in the order provided and maintains the order\n * of their elements.\n *\n * Example:\n * ```\n * const r = Array.from(concatIterables(['a', 'b'], ['c'], ['d', 'e', 'f']));\n * r == ['a', 'b', 'c', 'd', 'e', 'f'];\n * ```\n */\n\nfunction concatIterables(iters) {\n var _iterator24, _step24, iter, _iterator25, _step25, val;\n\n return _regeneratorRuntime.wrap(function concatIterables$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _iterator24 = _createForOfIteratorHelper(iters);\n _context3.prev = 1;\n\n _iterator24.s();\n\n case 3:\n if ((_step24 = _iterator24.n()).done) {\n _context3.next = 24;\n break;\n }\n\n iter = _step24.value;\n _iterator25 = _createForOfIteratorHelper(iter);\n _context3.prev = 6;\n\n _iterator25.s();\n\n case 8:\n if ((_step25 = _iterator25.n()).done) {\n _context3.next = 14;\n break;\n }\n\n val = _step25.value;\n _context3.next = 12;\n return val;\n\n case 12:\n _context3.next = 8;\n break;\n\n case 14:\n _context3.next = 19;\n break;\n\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3[\"catch\"](6);\n\n _iterator25.e(_context3.t0);\n\n case 19:\n _context3.prev = 19;\n\n _iterator25.f();\n\n return _context3.finish(19);\n\n case 22:\n _context3.next = 3;\n break;\n\n case 24:\n _context3.next = 29;\n break;\n\n case 26:\n _context3.prev = 26;\n _context3.t1 = _context3[\"catch\"](1);\n\n _iterator24.e(_context3.t1);\n\n case 29:\n _context3.prev = 29;\n\n _iterator24.f();\n\n return _context3.finish(29);\n\n case 32:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _marked2, null, [[1, 26, 29, 32], [6, 16, 19, 22]]);\n}\n\nvar Recoil_concatIterables = concatIterables;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\nvar isSSR = // $FlowFixMe(site=recoil) Window does not have a FlowType definition https://github.com/facebook/flow/issues/6709\ntypeof Window === 'undefined' || typeof window === 'undefined';\n/* eslint-enable fb-www/typeof-undefined */\n\nvar isWindow = function isWindow(value) {\n return !isSSR && ( // $FlowFixMe(site=recoil) Window does not have a FlowType definition https://github.com/facebook/flow/issues/6709\n value === window || value instanceof Window);\n};\n\nvar isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative'; // eslint-disable-line fb-www/typeof-undefined\n\nvar Recoil_Environment = {\n isSSR: isSSR,\n isReactNative: isReactNative,\n isWindow: isWindow\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Caches a function's results based on the key returned by the passed\n * hashFunction.\n */\n\nfunction memoizeWithArgsHash(fn, hashFunction) {\n var cache;\n\n var memoizedFn = function memoizedFn() {\n if (!cache) {\n cache = {};\n }\n\n var key = hashFunction.apply(void 0, arguments);\n\n if (!Object.hasOwnProperty.call(cache, key)) {\n cache[key] = fn.apply(void 0, arguments);\n }\n\n return cache[key];\n };\n\n return memoizedFn;\n}\n/**\n * Caches a function's results based on a comparison of the arguments.\n * Only caches the last return of the function.\n * Defaults to reference equality\n */\n\n\nfunction memoizeOneWithArgsHash(fn, hashFunction) {\n var lastKey;\n var lastResult; // breaking cache when arguments change\n\n var memoizedFn = function memoizedFn() {\n var key = hashFunction.apply(void 0, arguments);\n\n if (lastKey === key) {\n return lastResult;\n }\n\n lastKey = key;\n lastResult = fn.apply(void 0, arguments);\n return lastResult;\n };\n\n return memoizedFn;\n}\n/**\n * Caches a function's results based on a comparison of the arguments.\n * Only caches the last return of the function.\n * Defaults to reference equality\n */\n\n\nfunction memoizeOneWithArgsHashAndInvalidation(fn, hashFunction) {\n var lastKey;\n var lastResult; // breaking cache when arguments change\n\n var memoizedFn = function memoizedFn() {\n var key = hashFunction.apply(void 0, arguments);\n\n if (lastKey === key) {\n return lastResult;\n }\n\n lastKey = key;\n lastResult = fn.apply(void 0, arguments);\n return lastResult;\n };\n\n var invalidate = function invalidate() {\n lastKey = null;\n };\n\n return [memoizedFn, invalidate];\n}\n\nvar Recoil_Memoize = {\n memoizeWithArgsHash: memoizeWithArgsHash,\n memoizeOneWithArgsHash: memoizeOneWithArgsHash,\n memoizeOneWithArgsHashAndInvalidation: memoizeOneWithArgsHashAndInvalidation\n};\nvar batchUpdates$1 = Recoil_Batching.batchUpdates;\nvar initializeNode$1 = Recoil_FunctionalCore.initializeNode,\n peekNodeInfo$1 = Recoil_FunctionalCore.peekNodeInfo;\nvar graph$1 = Recoil_Graph.graph;\nvar getNextStoreID$1 = Recoil_Keys.getNextStoreID;\nvar DEFAULT_VALUE$1 = Recoil_Node.DEFAULT_VALUE,\n recoilValues$1 = Recoil_Node.recoilValues,\n recoilValuesForKeys$2 = Recoil_Node.recoilValuesForKeys;\nvar AbstractRecoilValue$2 = Recoil_RecoilValueInterface.AbstractRecoilValue,\n getRecoilValueAsLoadable$1 = Recoil_RecoilValueInterface.getRecoilValueAsLoadable,\n setRecoilValue$1 = Recoil_RecoilValueInterface.setRecoilValue,\n setUnvalidatedRecoilValue$1 = Recoil_RecoilValueInterface.setUnvalidatedRecoilValue;\nvar updateRetainCount$1 = Recoil_Retention.updateRetainCount;\nvar setInvalidateMemoizedSnapshot$1 = Recoil_SnapshotCache.setInvalidateMemoizedSnapshot;\nvar getNextTreeStateVersion$2 = Recoil_State.getNextTreeStateVersion,\n makeEmptyStoreState$1 = Recoil_State.makeEmptyStoreState;\nvar isSSR$1 = Recoil_Environment.isSSR;\nvar memoizeOneWithArgsHashAndInvalidation$1 = Recoil_Memoize.memoizeOneWithArgsHashAndInvalidation; // Opaque at this surface because it's part of the public API from here.\n\nvar retainWarning = \"\\nRecoil Snapshots only last for the duration of the callback they are provided to. To keep a Snapshot longer, do this:\\n\\n const release = snapshot.retain();\\n try {\\n await doSomethingWithSnapshot(snapshot);\\n } finally {\\n release();\\n }\\n\\nThis is currently a DEV-only warning but will become a thrown exception in the next release of Recoil.\\n\"; // A \"Snapshot\" is \"read-only\" and captures a specific set of values of atoms.\n// However, the data-flow-graph and selector values may evolve as selector\n// evaluation functions are executed and async selectors resolve.\n\nvar Snapshot = /*#__PURE__*/function () {\n // eslint-disable-next-line fb-www/no-uninitialized-properties\n function Snapshot(storeState, parentStoreID) {\n var _this6 = this;\n\n _classCallCheck(this, Snapshot);\n\n _defineProperty(this, \"_store\", void 0);\n\n _defineProperty(this, \"_refCount\", 1);\n\n _defineProperty(this, \"getLoadable\", function (recoilValue) {\n _this6.checkRefCount_INTERNAL();\n\n return getRecoilValueAsLoadable$1(_this6._store, recoilValue);\n });\n\n _defineProperty(this, \"getPromise\", function (recoilValue) {\n _this6.checkRefCount_INTERNAL();\n\n return _this6.getLoadable(recoilValue).toPromise();\n });\n\n _defineProperty(this, \"getNodes_UNSTABLE\", function (opt) {\n _this6.checkRefCount_INTERNAL(); // TODO Deal with modified selectors\n\n\n if ((opt === null || opt === void 0 ? void 0 : opt.isModified) === true) {\n if ((opt === null || opt === void 0 ? void 0 : opt.isInitialized) === false) {\n return [];\n }\n\n var state = _this6._store.getState().currentTree;\n\n return recoilValuesForKeys$2(state.dirtyAtoms);\n }\n\n var knownAtoms = _this6._store.getState().knownAtoms;\n\n var knownSelectors = _this6._store.getState().knownSelectors;\n\n return (opt === null || opt === void 0 ? void 0 : opt.isInitialized) == null ? recoilValues$1.values() : opt.isInitialized === true ? recoilValuesForKeys$2(Recoil_concatIterables([knownAtoms, knownSelectors])) : Recoil_filterIterable(recoilValues$1.values(), function (_ref17) {\n var key = _ref17.key;\n return !knownAtoms.has(key) && !knownSelectors.has(key);\n });\n });\n\n _defineProperty(this, \"getInfo_UNSTABLE\", function (_ref18) {\n var key = _ref18.key;\n\n _this6.checkRefCount_INTERNAL();\n\n return peekNodeInfo$1(_this6._store, _this6._store.getState().currentTree, key);\n });\n\n _defineProperty(this, \"map\", function (mapper) {\n _this6.checkRefCount_INTERNAL();\n\n var mutableSnapshot = new MutableSnapshot(_this6, batchUpdates$1);\n mapper(mutableSnapshot); // if removing batchUpdates from `set` add it here\n\n return mutableSnapshot;\n });\n\n _defineProperty(this, \"asyncMap\", /*#__PURE__*/function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(mapper) {\n var mutableSnapshot;\n return _regeneratorRuntime.wrap(function _callee2$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this6.checkRefCount_INTERNAL();\n\n mutableSnapshot = new MutableSnapshot(_this6, batchUpdates$1);\n mutableSnapshot.retain(); // Retain new snapshot during async mapper\n\n _context4.next = 5;\n return mapper(mutableSnapshot);\n\n case 5:\n // Continue to retain the new snapshot for the user, but auto-release it\n // after the next tick, the same as a new synchronous snapshot.\n mutableSnapshot.autoRelease_INTERNAL();\n return _context4.abrupt(\"return\", mutableSnapshot);\n\n case 7:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref19.apply(this, arguments);\n };\n }());\n\n this._store = {\n storeID: getNextStoreID$1(),\n parentStoreID: parentStoreID,\n getState: function getState() {\n return storeState;\n },\n replaceState: function replaceState(replacer) {\n // no batching, so nextTree is never active\n storeState.currentTree = replacer(storeState.currentTree);\n },\n getGraph: function getGraph(version) {\n var graphs = storeState.graphsByVersion;\n\n if (graphs.has(version)) {\n return Recoil_nullthrows(graphs.get(version));\n }\n\n var newGraph = graph$1();\n graphs.set(version, newGraph);\n return newGraph;\n },\n subscribeToTransactions: function subscribeToTransactions() {\n return {\n release: function release() {}\n };\n },\n addTransactionMetadata: function addTransactionMetadata() {\n throw Recoil_err('Cannot subscribe to Snapshots');\n }\n }; // Initialize any nodes that are live in the parent store (primarily so that\n // this snapshot gets counted towards the node's live stores count).\n // TODO Optimize this when cloning snapshots for callbacks\n\n var _iterator26 = _createForOfIteratorHelper(this._store.getState().knownAtoms),\n _step26;\n\n try {\n for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {\n var nodeKey = _step26.value;\n initializeNode$1(this._store, nodeKey, 'get');\n updateRetainCount$1(this._store, nodeKey, 1);\n }\n } catch (err) {\n _iterator26.e(err);\n } finally {\n _iterator26.f();\n }\n\n this.autoRelease_INTERNAL();\n }\n\n _createClass(Snapshot, [{\n key: \"retain\",\n value: function retain() {\n var _this7 = this;\n\n if (this._refCount <= 0) {\n if (process.env.NODE_ENV !== \"production\") {\n throw Recoil_err('Snapshot has already been released.');\n } else {\n Recoil_recoverableViolation('Attempt to retain() Snapshot that was already released.');\n }\n }\n\n this._refCount++;\n var released = false;\n return function () {\n if (!released) {\n released = true;\n\n _this7._release();\n }\n };\n }\n /**\n * Release the snapshot on the next tick. This means the snapshot is retained\n * during the execution of the current function using it.\n */\n\n }, {\n key: \"autoRelease_INTERNAL\",\n value: function autoRelease_INTERNAL() {\n var _this8 = this;\n\n if (!isSSR$1) {\n // Use timeout of 10 to workaround Firefox issue: https://github.com/facebookexperimental/Recoil/issues/1936\n window.setTimeout(function () {\n return _this8._release();\n }, 10);\n }\n }\n }, {\n key: \"_release\",\n value: function _release() {\n this._refCount--;\n\n if (this._refCount === 0) {\n this._store.getState().nodeCleanupFunctions.forEach(function (cleanup) {\n return cleanup();\n });\n\n this._store.getState().nodeCleanupFunctions.clear();\n\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n } // Temporarily nerfing this to allow us to find broken call sites without\n // actually breaking anybody yet.\n // for (const k of this._store.getState().knownAtoms) {\n // updateRetainCountToZero(this._store, k);\n // }\n\n } else if (this._refCount < 0) {\n if (process.env.NODE_ENV !== \"production\") {\n Recoil_recoverableViolation('Snapshot released an extra time.');\n }\n }\n }\n }, {\n key: \"isRetained\",\n value: function isRetained() {\n return this._refCount > 0;\n }\n }, {\n key: \"checkRefCount_INTERNAL\",\n value: function checkRefCount_INTERNAL() {\n if (Recoil_gkx('recoil_memory_managament_2020') && this._refCount <= 0) {\n if (process.env.NODE_ENV !== \"production\") {\n Recoil_recoverableViolation(retainWarning);\n } // What we will ship later:\n // throw err(retainWarning);\n\n }\n }\n }, {\n key: \"getStore_INTERNAL\",\n value: function getStore_INTERNAL() {\n this.checkRefCount_INTERNAL();\n return this._store;\n }\n }, {\n key: \"getID\",\n value: function getID() {\n this.checkRefCount_INTERNAL();\n return this._store.getState().currentTree.stateID;\n }\n }, {\n key: \"getStoreID\",\n value: function getStoreID() {\n this.checkRefCount_INTERNAL();\n return this._store.storeID;\n } // We want to allow the methods to be destructured and used as accessors\n\n /* eslint-disable fb-www/extra-arrow-initializer */\n\n /* eslint-enable fb-www/extra-arrow-initializer */\n\n }]);\n\n return Snapshot;\n}();\n\nfunction cloneStoreState(store, treeState) {\n var bumpVersion = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var storeState = store.getState();\n var version = bumpVersion ? getNextTreeStateVersion$2() : treeState.version;\n return {\n // Always clone the TreeState to isolate stores from accidental mutations.\n // For example, reading a selector from a cloned snapshot shouldn't cache\n // in the original treestate which may cause the original to skip\n // initialization of upstream atoms.\n currentTree: {\n // TODO snapshots shouldn't really have versions because a new version number\n // is always assigned when the snapshot is gone to.\n version: bumpVersion ? version : treeState.version,\n stateID: bumpVersion ? version : treeState.stateID,\n transactionMetadata: _objectSpread({}, treeState.transactionMetadata),\n dirtyAtoms: new Set(treeState.dirtyAtoms),\n atomValues: treeState.atomValues.clone(),\n nonvalidatedAtoms: treeState.nonvalidatedAtoms.clone()\n },\n commitDepth: 0,\n nextTree: null,\n previousTree: null,\n knownAtoms: new Set(storeState.knownAtoms),\n // FIXME here's a copy\n knownSelectors: new Set(storeState.knownSelectors),\n // FIXME here's a copy\n transactionSubscriptions: new Map(),\n nodeTransactionSubscriptions: new Map(),\n nodeToComponentSubscriptions: new Map(),\n queuedComponentCallbacks_DEPRECATED: [],\n suspendedComponentResolvers: new Set(),\n graphsByVersion: new Map().set(version, store.getGraph(treeState.version)),\n retention: {\n referenceCounts: new Map(),\n nodesRetainedByZone: new Map(),\n retainablesToCheckForRelease: new Set()\n },\n // FIXME here's a copy\n // Create blank cleanup handlers for atoms so snapshots don't re-run\n // atom effects.\n nodeCleanupFunctions: new Map(Recoil_mapIterable(storeState.nodeCleanupFunctions.entries(), function (_ref20) {\n var _ref21 = _slicedToArray(_ref20, 1),\n key = _ref21[0];\n\n return [key, function () {}];\n }))\n };\n} // Factory to build a fresh snapshot\n\n\nfunction freshSnapshot(initializeState) {\n var snapshot = new Snapshot(makeEmptyStoreState$1());\n return initializeState != null ? snapshot.map(initializeState) : snapshot;\n} // Factory to clone a snapshot state\n\n\nvar _memoizeOneWithArgsHa = memoizeOneWithArgsHashAndInvalidation$1(function (store, version) {\n var _storeState$nextTree;\n\n var storeState = store.getState();\n var treeState = version === 'latest' ? (_storeState$nextTree = storeState.nextTree) !== null && _storeState$nextTree !== void 0 ? _storeState$nextTree : storeState.currentTree : Recoil_nullthrows(storeState.previousTree);\n return new Snapshot(cloneStoreState(store, treeState), store.storeID);\n}, function (store, version) {\n var _store$getState$nextT, _store$getState$previ;\n\n return String(version) + String(store.storeID) + String((_store$getState$nextT = store.getState().nextTree) === null || _store$getState$nextT === void 0 ? void 0 : _store$getState$nextT.version) + String(store.getState().currentTree.version) + String((_store$getState$previ = store.getState().previousTree) === null || _store$getState$previ === void 0 ? void 0 : _store$getState$previ.version);\n}),\n _memoizeOneWithArgsHa2 = _slicedToArray(_memoizeOneWithArgsHa, 2),\n memoizedCloneSnapshot = _memoizeOneWithArgsHa2[0],\n invalidateMemoizedSnapshot$2 = _memoizeOneWithArgsHa2[1]; // Avoid circular dependencies\n\n\nsetInvalidateMemoizedSnapshot$1(invalidateMemoizedSnapshot$2);\n\nfunction cloneSnapshot(store) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'latest';\n var snapshot = memoizedCloneSnapshot(store, version);\n\n if (!snapshot.isRetained()) {\n invalidateMemoizedSnapshot$2();\n return memoizedCloneSnapshot(store, version);\n }\n\n return snapshot;\n}\n\nvar MutableSnapshot = /*#__PURE__*/function (_Snapshot) {\n _inherits(MutableSnapshot, _Snapshot);\n\n var _super8 = _createSuper(MutableSnapshot);\n\n function MutableSnapshot(snapshot, batch) {\n var _this9;\n\n _classCallCheck(this, MutableSnapshot);\n\n _this9 = _super8.call(this, cloneStoreState(snapshot.getStore_INTERNAL(), snapshot.getStore_INTERNAL().getState().currentTree, true), snapshot.getStoreID());\n\n _defineProperty(_assertThisInitialized(_this9), \"_batch\", void 0);\n\n _defineProperty(_assertThisInitialized(_this9), \"set\", function (recoilState, newValueOrUpdater) {\n _this9.checkRefCount_INTERNAL();\n\n var store = _this9.getStore_INTERNAL(); // This batchUpdates ensures this `set` is applied immediately and you can\n // read the written value after calling `set`. I would like to remove this\n // behavior and only batch in `Snapshot.map`, but this would be a breaking\n // change potentially.\n\n\n _this9._batch(function () {\n updateRetainCount$1(store, recoilState.key, 1);\n setRecoilValue$1(_this9.getStore_INTERNAL(), recoilState, newValueOrUpdater);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this9), \"reset\", function (recoilState) {\n _this9.checkRefCount_INTERNAL();\n\n var store = _this9.getStore_INTERNAL(); // See note at `set` about batched updates.\n\n\n _this9._batch(function () {\n updateRetainCount$1(store, recoilState.key, 1);\n setRecoilValue$1(_this9.getStore_INTERNAL(), recoilState, DEFAULT_VALUE$1);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this9), \"setUnvalidatedAtomValues_DEPRECATED\", function (values) {\n _this9.checkRefCount_INTERNAL();\n\n var store = _this9.getStore_INTERNAL(); // See note at `set` about batched updates.\n\n\n batchUpdates$1(function () {\n var _iterator27 = _createForOfIteratorHelper(values.entries()),\n _step27;\n\n try {\n for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {\n var _ref24 = _step27.value;\n\n var _ref23 = _slicedToArray(_ref24, 2);\n\n var k = _ref23[0];\n var v = _ref23[1];\n updateRetainCount$1(store, k, 1);\n setUnvalidatedRecoilValue$1(store, new AbstractRecoilValue$2(k), v);\n }\n } catch (err) {\n _iterator27.e(err);\n } finally {\n _iterator27.f();\n }\n });\n });\n\n _this9._batch = batch;\n return _this9;\n }\n\n return MutableSnapshot;\n}(Snapshot);\n\nvar Recoil_Snapshot = {\n Snapshot: Snapshot,\n MutableSnapshot: MutableSnapshot,\n freshSnapshot: freshSnapshot,\n cloneSnapshot: cloneSnapshot\n};\nvar Recoil_Snapshot_1 = Recoil_Snapshot.Snapshot;\nvar Recoil_Snapshot_2 = Recoil_Snapshot.MutableSnapshot;\nvar Recoil_Snapshot_3 = Recoil_Snapshot.freshSnapshot;\nvar Recoil_Snapshot_4 = Recoil_Snapshot.cloneSnapshot;\nvar Recoil_Snapshot$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Snapshot: Recoil_Snapshot_1,\n MutableSnapshot: Recoil_Snapshot_2,\n freshSnapshot: Recoil_Snapshot_3,\n cloneSnapshot: Recoil_Snapshot_4\n});\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction unionSets() {\n var result = new Set();\n\n for (var _len4 = arguments.length, sets = new Array(_len4), _key7 = 0; _key7 < _len4; _key7++) {\n sets[_key7] = arguments[_key7];\n }\n\n for (var _i2 = 0, _sets = sets; _i2 < _sets.length; _i2++) {\n var set = _sets[_i2];\n\n var _iterator28 = _createForOfIteratorHelper(set),\n _step28;\n\n try {\n for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {\n var value = _step28.value;\n result.add(value);\n }\n } catch (err) {\n _iterator28.e(err);\n } finally {\n _iterator28.f();\n }\n }\n\n return result;\n}\n\nvar Recoil_unionSets = unionSets;\nvar useRef = react.useRef;\n/**\n * The same as `useRef()` except that if a function is specified then it will\n * call that function to get the value to initialize the reference with.\n * This is similar to how `useState()` behaves when given a function. It allows\n * the user to avoid generating the initial value for subsequent renders.\n * The tradeoff is that to set the reference to a function itself you need to\n * nest it: useRefInitOnce(() => () => {...});\n */\n\nfunction useRefInitOnce(initialValue) {\n // $FlowExpectedError[incompatible-call]\n var ref = useRef(initialValue);\n\n if (ref.current === initialValue && typeof initialValue === 'function') {\n // $FlowExpectedError[incompatible-use]\n ref.current = initialValue();\n }\n\n return ref;\n}\n\nvar Recoil_useRefInitOnce = useRefInitOnce; // @fb-only: const RecoilusagelogEvent = require('RecoilusagelogEvent');\n// @fb-only: const RecoilUsageLogFalcoEvent = require('RecoilUsageLogFalcoEvent');\n// @fb-only: const URI = require('URI');\n\nvar getNextTreeStateVersion$3 = Recoil_State.getNextTreeStateVersion,\n makeEmptyStoreState$2 = Recoil_State.makeEmptyStoreState;\nvar cleanUpNode$2 = Recoil_FunctionalCore.cleanUpNode,\n getDownstreamNodes$2 = Recoil_FunctionalCore.getDownstreamNodes,\n initializeNode$2 = Recoil_FunctionalCore.initializeNode,\n setNodeValue$2 = Recoil_FunctionalCore.setNodeValue,\n setUnvalidatedAtomValue_DEPRECATED$1 = Recoil_FunctionalCore.setUnvalidatedAtomValue_DEPRECATED;\nvar graph$2 = Recoil_Graph.graph;\nvar cloneGraph$1 = Recoil_Graph.cloneGraph;\nvar getNextStoreID$2 = Recoil_Keys.getNextStoreID;\nvar createMutableSource$1 = Recoil_ReactMode.createMutableSource,\n reactMode$2 = Recoil_ReactMode.reactMode;\nvar applyAtomValueWrites$1 = Recoil_RecoilValueInterface.applyAtomValueWrites;\nvar releaseScheduledRetainablesNow$1 = Recoil_Retention.releaseScheduledRetainablesNow;\nvar freshSnapshot$1 = Recoil_Snapshot$1.freshSnapshot;\nvar useCallback = react.useCallback,\n useContext = react.useContext,\n useEffect = react.useEffect,\n useMemo = react.useMemo,\n useRef$1 = react.useRef,\n useState = react.useState;\n\nfunction notInAContext() {\n throw Recoil_err('This component must be used inside a component.');\n}\n\nvar defaultStore = Object.freeze({\n storeID: getNextStoreID$2(),\n getState: notInAContext,\n replaceState: notInAContext,\n getGraph: notInAContext,\n subscribeToTransactions: notInAContext,\n addTransactionMetadata: notInAContext\n});\nvar stateReplacerIsBeingExecuted = false;\n\nfunction startNextTreeIfNeeded(store) {\n if (stateReplacerIsBeingExecuted) {\n throw Recoil_err('An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.');\n }\n\n var storeState = store.getState();\n\n if (storeState.nextTree === null) {\n if (Recoil_gkx('recoil_memory_managament_2020') && Recoil_gkx('recoil_release_on_cascading_update_killswitch_2021')) {\n // If this is a cascading update (that is, rendering due to one state change\n // invokes a second state change), we won't have cleaned up retainables yet\n // because this normally happens after notifying components. Do it before\n // proceeding with the cascading update so that it remains predictable:\n if (storeState.commitDepth > 0) {\n releaseScheduledRetainablesNow$1(store);\n }\n }\n\n var version = storeState.currentTree.version;\n var nextVersion = getNextTreeStateVersion$3();\n storeState.nextTree = _objectSpread(_objectSpread({}, storeState.currentTree), {}, {\n version: nextVersion,\n stateID: nextVersion,\n dirtyAtoms: new Set(),\n transactionMetadata: {}\n });\n storeState.graphsByVersion.set(nextVersion, cloneGraph$1(Recoil_nullthrows(storeState.graphsByVersion.get(version))));\n }\n}\n\nvar AppContext = /*#__PURE__*/react.createContext({\n current: defaultStore\n});\n\nvar useStoreRef = function useStoreRef() {\n return useContext(AppContext);\n}; // $FlowExpectedError[incompatible-call]\n\n\nvar MutableSourceContext = /*#__PURE__*/react.createContext(null);\n\nfunction useRecoilMutableSource() {\n var mutableSource = useContext(MutableSourceContext);\n\n if (mutableSource == null) {\n Recoil_expectationViolation('Attempted to use a Recoil hook outside of a . ' + ' must be an ancestor of any component that uses ' + 'Recoil hooks.');\n }\n\n return mutableSource;\n}\n\nfunction notifyComponents(store, storeState, treeState) {\n var dependentNodes = getDownstreamNodes$2(store, treeState, treeState.dirtyAtoms);\n\n var _iterator29 = _createForOfIteratorHelper(dependentNodes),\n _step29;\n\n try {\n for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {\n var key = _step29.value;\n var comps = storeState.nodeToComponentSubscriptions.get(key);\n\n if (comps) {\n var _iterator30 = _createForOfIteratorHelper(comps),\n _step30;\n\n try {\n for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {\n var _ref27 = _step30.value;\n\n var _ref26 = _slicedToArray(_ref27, 2);\n\n var _subID = _ref26[0];\n\n var _ref26$ = _slicedToArray(_ref26[1], 2);\n\n var _debugName = _ref26$[0];\n var callback = _ref26$[1];\n callback(treeState);\n }\n } catch (err) {\n _iterator30.e(err);\n } finally {\n _iterator30.f();\n }\n }\n }\n } catch (err) {\n _iterator29.e(err);\n } finally {\n _iterator29.f();\n }\n}\n\nfunction sendEndOfBatchNotifications(store) {\n var storeState = store.getState();\n var treeState = storeState.currentTree; // Inform transaction subscribers of the transaction:\n\n var dirtyAtoms = treeState.dirtyAtoms;\n\n if (dirtyAtoms.size) {\n // Execute Node-specific subscribers before global subscribers\n var _iterator31 = _createForOfIteratorHelper(storeState.nodeTransactionSubscriptions),\n _step31;\n\n try {\n for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {\n var _ref32 = _step31.value;\n\n var _ref29 = _slicedToArray(_ref32, 2);\n\n var key = _ref29[0];\n var subscriptions = _ref29[1];\n\n if (dirtyAtoms.has(key)) {\n var _iterator33 = _createForOfIteratorHelper(subscriptions),\n _step33;\n\n try {\n for (_iterator33.s(); !(_step33 = _iterator33.n()).done;) {\n var _ref35 = _step33.value;\n\n var _ref34 = _slicedToArray(_ref35, 2);\n\n var _ = _ref34[0];\n var subscription = _ref34[1];\n subscription(store);\n }\n } catch (err) {\n _iterator33.e(err);\n } finally {\n _iterator33.f();\n }\n }\n }\n } catch (err) {\n _iterator31.e(err);\n } finally {\n _iterator31.f();\n }\n\n var _iterator32 = _createForOfIteratorHelper(storeState.transactionSubscriptions),\n _step32;\n\n try {\n for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {\n var _ref36 = _step32.value;\n\n var _ref31 = _slicedToArray(_ref36, 2);\n\n var _2 = _ref31[0];\n var _subscription = _ref31[1];\n\n _subscription(store);\n }\n } catch (err) {\n _iterator32.e(err);\n } finally {\n _iterator32.f();\n }\n\n if (!reactMode$2().early || storeState.suspendedComponentResolvers.size > 0) {\n // Notifying components is needed to wake from suspense, even when using\n // early rendering.\n notifyComponents(store, storeState, treeState); // Wake all suspended components so the right one(s) can try to re-render.\n // We need to wake up components not just when some asynchronous selector\n // resolved, but also when changing synchronous values because this may cause\n // a selector to change from asynchronous to synchronous, in which case there\n // would be no follow-up asynchronous resolution to wake us up.\n // TODO OPTIMIZATION Only wake up related downstream components\n\n storeState.suspendedComponentResolvers.forEach(function (cb) {\n return cb();\n });\n storeState.suspendedComponentResolvers.clear();\n }\n } // Special behavior ONLY invoked by useInterface.\n // FIXME delete queuedComponentCallbacks_DEPRECATED when deleting useInterface.\n\n\n storeState.queuedComponentCallbacks_DEPRECATED.forEach(function (cb) {\n return cb(treeState);\n });\n storeState.queuedComponentCallbacks_DEPRECATED.splice(0, storeState.queuedComponentCallbacks_DEPRECATED.length);\n}\n\nfunction endBatch(store) {\n var storeState = store.getState();\n storeState.commitDepth++;\n\n try {\n var nextTree = storeState.nextTree; // Ignore commits that are not because of Recoil transactions -- namely,\n // because something above RecoilRoot re-rendered:\n\n if (nextTree == null) {\n return;\n } // nextTree is now committed -- note that copying and reset occurs when\n // a transaction begins, in startNextTreeIfNeeded:\n\n\n storeState.previousTree = storeState.currentTree;\n storeState.currentTree = nextTree;\n storeState.nextTree = null;\n sendEndOfBatchNotifications(store);\n\n if (storeState.previousTree != null) {\n storeState.graphsByVersion[\"delete\"](storeState.previousTree.version);\n } else {\n Recoil_recoverableViolation('Ended batch with no previous state, which is unexpected', 'recoil');\n }\n\n storeState.previousTree = null;\n\n if (Recoil_gkx('recoil_memory_managament_2020')) {\n // Only release retainables if there were no writes during the end of the\n // batch. This avoids releasing something we might be about to use.\n if (nextTree == null) {\n releaseScheduledRetainablesNow$1(store);\n }\n }\n } finally {\n storeState.commitDepth--;\n }\n}\n/*\n * The purpose of the Batcher is to observe when React batches end so that\n * Recoil state changes can be batched. Whenever Recoil state changes, we call\n * setState on the batcher. Then we wait for that change to be committed, which\n * signifies the end of the batch. That's when we respond to the Recoil change.\n */\n\n\nfunction Batcher(_ref37) {\n var setNotifyBatcherOfChange = _ref37.setNotifyBatcherOfChange;\n var storeRef = useStoreRef();\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n setState = _useState2[1];\n\n setNotifyBatcherOfChange(function () {\n return setState({});\n });\n useEffect(function () {\n setNotifyBatcherOfChange(function () {\n return setState({});\n }); // If an asynchronous selector resolves after the Batcher is unmounted,\n // notifyBatcherOfChange will still be called. An error gets thrown whenever\n // setState is called after a component is already unmounted, so this sets\n // notifyBatcherOfChange to be a no-op.\n\n return function () {\n setNotifyBatcherOfChange(function () {});\n };\n }, [setNotifyBatcherOfChange]);\n useEffect(function () {\n // enqueueExecution runs this function immediately; it is only used to\n // manipulate the order of useEffects during tests, since React seems to\n // call useEffect in an unpredictable order sometimes.\n Recoil_Queue.enqueueExecution('Batcher', function () {\n endBatch(storeRef.current);\n });\n });\n return null;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined' && !window.$recoilDebugStates) {\n window.$recoilDebugStates = [];\n }\n} // When removing this deprecated function, remove stateBySettingRecoilValue\n// which will no longer be needed.\n\n\nfunction initialStoreState_DEPRECATED(store, initializeState) {\n var initial = makeEmptyStoreState$2();\n initializeState({\n set: function set(atom, value) {\n var state = initial.currentTree;\n var writes = setNodeValue$2(store, state, atom.key, value);\n var writtenNodes = new Set(writes.keys());\n var nonvalidatedAtoms = state.nonvalidatedAtoms.clone();\n\n var _iterator34 = _createForOfIteratorHelper(writtenNodes),\n _step34;\n\n try {\n for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {\n var n = _step34.value;\n nonvalidatedAtoms[\"delete\"](n);\n }\n } catch (err) {\n _iterator34.e(err);\n } finally {\n _iterator34.f();\n }\n\n initial.currentTree = _objectSpread(_objectSpread({}, state), {}, {\n dirtyAtoms: Recoil_unionSets(state.dirtyAtoms, writtenNodes),\n atomValues: applyAtomValueWrites$1(state.atomValues, writes),\n // NB: PLEASE un-export applyAtomValueWrites when deleting this code\n nonvalidatedAtoms: nonvalidatedAtoms\n });\n },\n setUnvalidatedAtomValues: function setUnvalidatedAtomValues(atomValues) {\n // FIXME replace this with a mutative loop\n atomValues.forEach(function (v, k) {\n initial.currentTree = setUnvalidatedAtomValue_DEPRECATED$1(initial.currentTree, k, v);\n });\n }\n });\n return initial;\n} // Initialize state snapshot for for the initializeState prop.\n// Atom effect initialization takes precedence over this prop.\n// Any atom effects will be run before initialization, but then cleaned up,\n// they are then re-run when used as part of rendering. These semantics are\n// compatible with React StrictMode where effects may be re-run multiple times\n// but state initialization only happens once the first time.\n\n\nfunction initialStoreState(initializeState) {\n // Initialize a snapshot and get its store\n var snapshot = freshSnapshot$1(initializeState);\n var storeState = snapshot.getStore_INTERNAL().getState(); // Counteract the snapshot auto-release\n\n snapshot.retain(); // Cleanup any effects run during initialization and clear the handlers so\n // they will re-initialize if used during rendering. This allows atom effect\n // initialization to take precedence over initializeState and be compatible\n // with StrictMode semantics.\n\n storeState.nodeCleanupFunctions.forEach(function (cleanup) {\n return cleanup();\n });\n storeState.nodeCleanupFunctions.clear();\n return storeState;\n}\n\nvar nextID = 0;\n\nfunction RecoilRoot_INTERNAL(_ref38) {\n var initializeState_DEPRECATED = _ref38.initializeState_DEPRECATED,\n initializeState = _ref38.initializeState,\n storeProp = _ref38.store_INTERNAL,\n children = _ref38.children;\n // prettier-ignore\n // @fb-only: useEffect(() => {\n // @fb-only: if (gkx('recoil_usage_logging')) {\n // @fb-only: try {\n // @fb-only: RecoilUsageLogFalcoEvent.log(() => ({\n // @fb-only: type: RecoilusagelogEvent.RECOIL_ROOT_MOUNTED,\n // @fb-only: path: URI.getRequestURI().getPath(),\n // @fb-only: }));\n // @fb-only: } catch {\n // @fb-only: recoverableViolation(\n // @fb-only: 'Error when logging Recoil Usage event',\n // @fb-only: 'recoil',\n // @fb-only: );\n // @fb-only: }\n // @fb-only: }\n // @fb-only: }, []);\n var storeStateRef; // eslint-disable-line prefer-const\n\n var getGraph = function getGraph(version) {\n var graphs = storeStateRef.current.graphsByVersion;\n\n if (graphs.has(version)) {\n return Recoil_nullthrows(graphs.get(version));\n }\n\n var newGraph = graph$2();\n graphs.set(version, newGraph);\n return newGraph;\n };\n\n var subscribeToTransactions = function subscribeToTransactions(callback, key) {\n if (key == null) {\n // Global transaction subscriptions\n var _storeRef$current$get = storeRef.current.getState(),\n transactionSubscriptions = _storeRef$current$get.transactionSubscriptions;\n\n var id = nextID++;\n transactionSubscriptions.set(id, callback);\n return {\n release: function release() {\n transactionSubscriptions[\"delete\"](id);\n }\n };\n } else {\n // Node-specific transaction subscriptions:\n var _storeRef$current$get2 = storeRef.current.getState(),\n nodeTransactionSubscriptions = _storeRef$current$get2.nodeTransactionSubscriptions;\n\n if (!nodeTransactionSubscriptions.has(key)) {\n nodeTransactionSubscriptions.set(key, new Map());\n }\n\n var _id2 = nextID++;\n\n Recoil_nullthrows(nodeTransactionSubscriptions.get(key)).set(_id2, callback);\n return {\n release: function release() {\n var subs = nodeTransactionSubscriptions.get(key);\n\n if (subs) {\n subs[\"delete\"](_id2);\n\n if (subs.size === 0) {\n nodeTransactionSubscriptions[\"delete\"](key);\n }\n }\n }\n };\n }\n };\n\n var addTransactionMetadata = function addTransactionMetadata(metadata) {\n startNextTreeIfNeeded(storeRef.current);\n\n for (var _i3 = 0, _Object$keys = Object.keys(metadata); _i3 < _Object$keys.length; _i3++) {\n var k = _Object$keys[_i3];\n Recoil_nullthrows(storeRef.current.getState().nextTree).transactionMetadata[k] = metadata[k];\n }\n };\n\n var replaceState = function replaceState(replacer) {\n startNextTreeIfNeeded(storeRef.current); // Use replacer to get the next state:\n\n var nextTree = Recoil_nullthrows(storeStateRef.current.nextTree);\n var replaced;\n\n try {\n stateReplacerIsBeingExecuted = true;\n replaced = replacer(nextTree);\n } finally {\n stateReplacerIsBeingExecuted = false;\n }\n\n if (replaced === nextTree) {\n return;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined') {\n window.$recoilDebugStates.push(replaced); // TODO this shouldn't happen here because it's not batched\n }\n } // Save changes to nextTree and schedule a React update:\n\n\n storeStateRef.current.nextTree = replaced;\n\n if (reactMode$2().early) {\n notifyComponents(storeRef.current, storeStateRef.current, replaced);\n }\n\n Recoil_nullthrows(notifyBatcherOfChange.current)();\n };\n\n var notifyBatcherOfChange = useRef$1(null);\n var setNotifyBatcherOfChange = useCallback(function (x) {\n notifyBatcherOfChange.current = x;\n }, [notifyBatcherOfChange]);\n var storeRef = Recoil_useRefInitOnce(function () {\n return storeProp !== null && storeProp !== void 0 ? storeProp : {\n storeID: getNextStoreID$2(),\n getState: function getState() {\n return storeStateRef.current;\n },\n replaceState: replaceState,\n getGraph: getGraph,\n subscribeToTransactions: subscribeToTransactions,\n addTransactionMetadata: addTransactionMetadata\n };\n });\n\n if (storeProp != null) {\n storeRef.current = storeProp;\n }\n\n storeStateRef = Recoil_useRefInitOnce(function () {\n return initializeState_DEPRECATED != null ? initialStoreState_DEPRECATED(storeRef.current, initializeState_DEPRECATED) : initializeState != null ? initialStoreState(initializeState) : makeEmptyStoreState$2();\n });\n var mutableSource = useMemo(function () {\n return createMutableSource$1 === null || createMutableSource$1 === void 0 ? void 0 : createMutableSource$1(storeStateRef, function () {\n return storeStateRef.current.currentTree.version;\n });\n }, [storeStateRef]); // Cleanup when the is unmounted\n\n useEffect(function () {\n // React is free to call effect cleanup handlers and effects at will, the\n // deps array is only an optimization. For example, React strict mode\n // will execute each effect twice for testing. Therefore, we need symmetry\n // to re-initialize all known atoms after they were cleaned up.\n var store = storeRef.current;\n\n var _iterator35 = _createForOfIteratorHelper(new Set(store.getState().knownAtoms)),\n _step35;\n\n try {\n for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {\n var atomKey = _step35.value;\n initializeNode$2(store, atomKey, 'get');\n }\n } catch (err) {\n _iterator35.e(err);\n } finally {\n _iterator35.f();\n }\n\n return function () {\n var _iterator36 = _createForOfIteratorHelper(store.getState().knownAtoms),\n _step36;\n\n try {\n for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {\n var atomKey = _step36.value;\n cleanUpNode$2(store, atomKey);\n }\n } catch (err) {\n _iterator36.e(err);\n } finally {\n _iterator36.f();\n }\n };\n }, [storeRef]);\n return /*#__PURE__*/react.createElement(AppContext.Provider, {\n value: storeRef\n }, /*#__PURE__*/react.createElement(MutableSourceContext.Provider, {\n value: mutableSource\n }, /*#__PURE__*/react.createElement(Batcher, {\n setNotifyBatcherOfChange: setNotifyBatcherOfChange\n }), children));\n}\n\nfunction RecoilRoot(props) {\n var override = props.override,\n propsExceptOverride = _objectWithoutProperties(props, [\"override\"]);\n\n var ancestorStoreRef = useStoreRef();\n\n if (override === false && ancestorStoreRef.current !== defaultStore) {\n // If ancestorStoreRef.current !== defaultStore, it means that this\n // RecoilRoot is not nested within another.\n return props.children;\n }\n\n return /*#__PURE__*/react.createElement(RecoilRoot_INTERNAL, propsExceptOverride);\n}\n\nfunction useRecoilStoreID() {\n return useStoreRef().current.storeID;\n}\n\nvar Recoil_RecoilRoot = {\n RecoilRoot: RecoilRoot,\n useStoreRef: useStoreRef,\n useRecoilMutableSource: useRecoilMutableSource,\n useRecoilStoreID: useRecoilStoreID,\n notifyComponents_FOR_TESTING: notifyComponents,\n sendEndOfBatchNotifications_FOR_TESTING: sendEndOfBatchNotifications\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction shallowArrayEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (var i = 0, l = a.length; i < l; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nvar Recoil_shallowArrayEqual = shallowArrayEqual;\nvar useEffect$1 = react.useEffect,\n useRef$2 = react.useRef;\n\nfunction usePrevious(value) {\n var ref = useRef$2();\n useEffect$1(function () {\n ref.current = value;\n });\n return ref.current;\n}\n\nvar Recoil_usePrevious = usePrevious;\nvar useStoreRef$1 = Recoil_RecoilRoot.useStoreRef;\nvar SUSPENSE_TIMEOUT_MS$1 = Recoil_Retention.SUSPENSE_TIMEOUT_MS;\nvar updateRetainCount$2 = Recoil_Retention.updateRetainCount;\nvar RetentionZone$3 = Recoil_RetentionZone.RetentionZone;\nvar useEffect$2 = react.useEffect,\n useRef$3 = react.useRef;\nvar isSSR$2 = Recoil_Environment.isSSR; // I don't see a way to avoid the any type here because we want to accept readable\n// and writable values with any type parameter, but normally with writable ones\n// RecoilState is not a subtype of RecoilState.\n// flowlint-line unclear-type:off\n\nfunction useRetain(toRetain) {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n } // eslint-disable-next-line fb-www/react-hooks\n\n\n return useRetain_ACTUAL(toRetain);\n}\n\nfunction useRetain_ACTUAL(toRetain) {\n var array = Array.isArray(toRetain) ? toRetain : [toRetain];\n var retainables = array.map(function (a) {\n return a instanceof RetentionZone$3 ? a : a.key;\n });\n var storeRef = useStoreRef$1();\n useEffect$2(function () {\n if (!Recoil_gkx('recoil_memory_managament_2020')) {\n return;\n }\n\n var store = storeRef.current;\n\n if (timeoutID.current && !isSSR$2) {\n // Already performed a temporary retain on render, simply cancel the release\n // of that temporary retain.\n window.clearTimeout(timeoutID.current);\n timeoutID.current = null;\n } else {\n var _iterator37 = _createForOfIteratorHelper(retainables),\n _step37;\n\n try {\n for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {\n var r = _step37.value;\n updateRetainCount$2(store, r, 1);\n }\n } catch (err) {\n _iterator37.e(err);\n } finally {\n _iterator37.f();\n }\n }\n\n return function () {\n var _iterator38 = _createForOfIteratorHelper(retainables),\n _step38;\n\n try {\n for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {\n var _r = _step38.value;\n updateRetainCount$2(store, _r, -1);\n }\n } catch (err) {\n _iterator38.e(err);\n } finally {\n _iterator38.f();\n }\n }; // eslint-disable-next-line fb-www/react-hooks-deps\n }, [storeRef].concat(_toConsumableArray(retainables))); // We want to retain if the component suspends. This is terrible but the Suspense\n // API affords us no better option. If we suspend and never commit after some\n // seconds, then release. The 'actual' retain/release in the effect above\n // cancels this.\n\n var timeoutID = useRef$3();\n var previousRetainables = Recoil_usePrevious(retainables);\n\n if (!isSSR$2 && (previousRetainables === undefined || !Recoil_shallowArrayEqual(previousRetainables, retainables))) {\n var store = storeRef.current;\n\n var _iterator39 = _createForOfIteratorHelper(retainables),\n _step39;\n\n try {\n for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {\n var _r3 = _step39.value;\n updateRetainCount$2(store, _r3, 1);\n }\n } catch (err) {\n _iterator39.e(err);\n } finally {\n _iterator39.f();\n }\n\n if (previousRetainables) {\n var _iterator40 = _createForOfIteratorHelper(previousRetainables),\n _step40;\n\n try {\n for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {\n var r = _step40.value;\n updateRetainCount$2(store, r, -1);\n }\n } catch (err) {\n _iterator40.e(err);\n } finally {\n _iterator40.f();\n }\n }\n\n if (timeoutID.current) {\n window.clearTimeout(timeoutID.current);\n }\n\n timeoutID.current = window.setTimeout(function () {\n timeoutID.current = null;\n\n var _iterator41 = _createForOfIteratorHelper(retainables),\n _step41;\n\n try {\n for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {\n var _r2 = _step41.value;\n updateRetainCount$2(store, _r2, -1);\n }\n } catch (err) {\n _iterator41.e(err);\n } finally {\n _iterator41.f();\n }\n }, SUSPENSE_TIMEOUT_MS$1);\n }\n}\n\nvar Recoil_useRetain = useRetain;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * THIS CODE HAS BEEN COMMENTED OUT INTENTIONALLY\n *\n * This technique of getting the component name is imperfect, since it both only\n * works in a non-minified code base, and more importantly introduces performance\n * problems since it relies in throwing errors which is an expensive operation.\n *\n * At some point we may want to reevaluate this technique hence why we have commented\n * this code out, rather than delete it all together.\n */\n// const {useRef} = require('react');\n// const gkx = require('recoil-shared/util/Recoil_gkx');\n// const stackTraceParser = require('recoil-shared/util/Recoil_stackTraceParser');\n\nfunction useComponentName() {\n // const nameRef = useRef();\n // if (__DEV__) {\n // if (gkx('recoil_infer_component_names')) {\n // if (nameRef.current === undefined) {\n // // There is no blessed way to determine the calling React component from\n // // within a hook. This hack uses the fact that hooks must start with 'use'\n // // and that hooks are either called by React Components or other hooks. It\n // // follows therefore, that to find the calling component, you simply need\n // // to look down the stack and find the first function which doesn't start\n // // with 'use'. We are only enabling this in dev for now, since once the\n // // codebase is minified, the naming assumptions no longer hold true.\n // // eslint-disable-next-line fb-www/no-new-error\n // const frames = stackTraceParser(new Error().stack);\n // for (const {methodName} of frames) {\n // // I observed cases where the frame was of the form 'Object.useXXX'\n // // hence why I'm searching for hooks following a word boundary\n // if (!methodName.match(/\\buse[^\\b]+$/)) {\n // return (nameRef.current = methodName);\n // }\n // }\n // nameRef.current = null;\n // }\n // return nameRef.current ?? '';\n // }\n // }\n // @fb-only: return \"\";\n return ''; // @oss-only\n}\n\nvar Recoil_useComponentName = useComponentName;\nvar batchUpdates$2 = Recoil_Batching.batchUpdates;\nvar DEFAULT_VALUE$2 = Recoil_Node.DEFAULT_VALUE;\nvar currentRendererSupportsUseSyncExternalStore$1 = Recoil_ReactMode.currentRendererSupportsUseSyncExternalStore,\n reactMode$3 = Recoil_ReactMode.reactMode,\n useMutableSource$1 = Recoil_ReactMode.useMutableSource,\n useSyncExternalStore$1 = Recoil_ReactMode.useSyncExternalStore;\nvar useRecoilMutableSource$1 = Recoil_RecoilRoot.useRecoilMutableSource,\n useStoreRef$2 = Recoil_RecoilRoot.useStoreRef;\nvar isRecoilValue$2 = Recoil_RecoilValue$1.isRecoilValue;\nvar AbstractRecoilValue$3 = Recoil_RecoilValueInterface.AbstractRecoilValue,\n getRecoilValueAsLoadable$2 = Recoil_RecoilValueInterface.getRecoilValueAsLoadable,\n setRecoilValue$2 = Recoil_RecoilValueInterface.setRecoilValue,\n setUnvalidatedRecoilValue$2 = Recoil_RecoilValueInterface.setUnvalidatedRecoilValue,\n subscribeToRecoilValue$1 = Recoil_RecoilValueInterface.subscribeToRecoilValue;\nvar useCallback$1 = react.useCallback,\n useEffect$3 = react.useEffect,\n useMemo$1 = react.useMemo,\n useRef$4 = react.useRef,\n useState$1 = react.useState;\nvar setByAddingToSet$2 = Recoil_CopyOnWrite.setByAddingToSet;\n\nfunction handleLoadable(loadable, recoilValue, storeRef) {\n // We can't just throw the promise we are waiting on to Suspense. If the\n // upstream dependencies change it may produce a state in which the component\n // can render, but it would still be suspended on a Promise that may never resolve.\n if (loadable.state === 'hasValue') {\n return loadable.contents;\n } else if (loadable.state === 'loading') {\n var promise = new Promise(function (resolve) {\n storeRef.current.getState().suspendedComponentResolvers.add(resolve);\n }); // $FlowExpectedError Flow(prop-missing) for integrating with tools that inspect thrown promises @fb-only\n // @fb-only: promise.displayName = `Recoil State: ${recoilValue.key}`;\n\n throw promise;\n } else if (loadable.state === 'hasError') {\n throw loadable.contents;\n } else {\n throw Recoil_err(\"Invalid value of loadable atom \\\"\".concat(recoilValue.key, \"\\\"\"));\n }\n}\n\nfunction validateRecoilValue(recoilValue, hookName) {\n if (!isRecoilValue$2(recoilValue)) {\n throw Recoil_err(\"Invalid argument to \".concat(hookName, \": expected an atom or selector but got \").concat(String(recoilValue)));\n }\n}\n/**\n * Various things are broken with useRecoilInterface, particularly concurrent\n * mode, React strict mode, and memory management. They will not be fixed.\n * */\n\n\nfunction useRecoilInterface_DEPRECATED() {\n var componentName = Recoil_useComponentName();\n var storeRef = useStoreRef$2(); // eslint-disable-next-line fb-www/react-no-unused-state-hook\n\n var _useState$ = useState$1([]),\n _useState$2 = _slicedToArray(_useState$, 2),\n forceUpdate = _useState$2[1];\n\n var recoilValuesUsed = useRef$4(new Set());\n recoilValuesUsed.current = new Set(); // Track the RecoilValues used just during this render\n\n var previousSubscriptions = useRef$4(new Set());\n var subscriptions = useRef$4(new Map());\n var unsubscribeFrom = useCallback$1(function (key) {\n var sub = subscriptions.current.get(key);\n\n if (sub) {\n sub.release();\n subscriptions.current[\"delete\"](key);\n }\n }, [subscriptions]);\n var updateState = useCallback$1(function (_state, key) {\n if (subscriptions.current.has(key)) {\n forceUpdate([]);\n }\n }, []); // Effect to add/remove subscriptions as nodes are used\n\n useEffect$3(function () {\n var store = storeRef.current;\n Recoil_differenceSets(recoilValuesUsed.current, previousSubscriptions.current).forEach(function (key) {\n if (subscriptions.current.has(key)) {\n Recoil_expectationViolation(\"Double subscription to RecoilValue \\\"\".concat(key, \"\\\"\"));\n return;\n }\n\n var sub = subscribeToRecoilValue$1(store, new AbstractRecoilValue$3(key), function (state) {\n return updateState(state, key);\n }, componentName);\n subscriptions.current.set(key, sub);\n /**\n * Since we're subscribing in an effect we need to update to the latest\n * value of the atom since it may have changed since we rendered. We can\n * go ahead and do that now, unless we're in the middle of a batch --\n * in which case we should do it at the end of the batch, due to the\n * following edge case: Suppose an atom is updated in another useEffect\n * of this same component. Then the following sequence of events occur:\n * 1. Atom is updated and subs fired (but we may not be subscribed\n * yet depending on order of effects, so we miss this) Updated value\n * is now in nextTree, but not currentTree.\n * 2. This effect happens. We subscribe and update.\n * 3. From the update we re-render and read currentTree, with old value.\n * 4. Batcher's effect sets currentTree to nextTree.\n * In this sequence we miss the update. To avoid that, add the update\n * to queuedComponentCallback if a batch is in progress.\n */\n // FIXME delete queuedComponentCallbacks_DEPRECATED when deleting useInterface.\n\n var state = store.getState();\n\n if (state.nextTree) {\n store.getState().queuedComponentCallbacks_DEPRECATED.push(function () {\n updateState(store.getState(), key);\n });\n } else {\n updateState(store.getState(), key);\n }\n });\n Recoil_differenceSets(previousSubscriptions.current, recoilValuesUsed.current).forEach(function (key) {\n unsubscribeFrom(key);\n });\n previousSubscriptions.current = recoilValuesUsed.current;\n }); // Effect to unsubscribe from all when unmounting\n\n useEffect$3(function () {\n var currentSubscriptions = subscriptions.current; // Restore subscriptions that were cleared due to StrictMode running this effect twice\n\n Recoil_differenceSets(recoilValuesUsed.current, new Set(currentSubscriptions.keys())).forEach(function (key) {\n var sub = subscribeToRecoilValue$1(storeRef.current, new AbstractRecoilValue$3(key), function (state) {\n return updateState(state, key);\n }, componentName);\n currentSubscriptions.set(key, sub);\n });\n return function () {\n return currentSubscriptions.forEach(function (_, key) {\n return unsubscribeFrom(key);\n });\n };\n }, [componentName, storeRef, unsubscribeFrom, updateState]);\n return useMemo$1(function () {\n // eslint-disable-next-line no-shadow\n function useSetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useSetRecoilState');\n }\n\n return function (newValueOrUpdater) {\n setRecoilValue$2(storeRef.current, recoilState, newValueOrUpdater);\n };\n } // eslint-disable-next-line no-shadow\n\n\n function useResetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useResetRecoilState');\n }\n\n return function () {\n return setRecoilValue$2(storeRef.current, recoilState, DEFAULT_VALUE$2);\n };\n } // eslint-disable-next-line no-shadow\n\n\n function useRecoilValueLoadable(recoilValue) {\n var _storeState$nextTree;\n\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable');\n }\n\n if (!recoilValuesUsed.current.has(recoilValue.key)) {\n recoilValuesUsed.current = setByAddingToSet$2(recoilValuesUsed.current, recoilValue.key);\n } // TODO Restore optimization to memoize lookup\n\n\n var storeState = storeRef.current.getState();\n return getRecoilValueAsLoadable$2(storeRef.current, recoilValue, reactMode$3().early ? (_storeState$nextTree = storeState.nextTree) !== null && _storeState$nextTree !== void 0 ? _storeState$nextTree : storeState.currentTree : storeState.currentTree);\n } // eslint-disable-next-line no-shadow\n\n\n function useRecoilValue(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValue');\n }\n\n var loadable = useRecoilValueLoadable(recoilValue);\n return handleLoadable(loadable, recoilValue, storeRef);\n } // eslint-disable-next-line no-shadow\n\n\n function useRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useRecoilState');\n }\n\n return [useRecoilValue(recoilState), useSetRecoilState(recoilState)];\n } // eslint-disable-next-line no-shadow\n\n\n function useRecoilStateLoadable(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useRecoilStateLoadable');\n }\n\n return [useRecoilValueLoadable(recoilState), useSetRecoilState(recoilState)];\n }\n\n return {\n getRecoilValue: useRecoilValue,\n getRecoilValueLoadable: useRecoilValueLoadable,\n getRecoilState: useRecoilState,\n getRecoilStateLoadable: useRecoilStateLoadable,\n getSetRecoilState: useSetRecoilState,\n getResetRecoilState: useResetRecoilState\n };\n }, [recoilValuesUsed, storeRef]);\n}\n\nvar recoilComponentGetRecoilValueCount_FOR_TESTING = {\n current: 0\n};\n\nfunction useRecoilValueLoadable_SYNC_EXTERNAL_STORE(recoilValue) {\n var storeRef = useStoreRef$2();\n var componentName = Recoil_useComponentName();\n var getSnapshot = useCallback$1(function () {\n var _storeState$nextTree2;\n\n if (process.env.NODE_ENV !== \"production\") {\n recoilComponentGetRecoilValueCount_FOR_TESTING.current++;\n }\n\n var store = storeRef.current;\n var storeState = store.getState();\n var treeState = reactMode$3().early ? (_storeState$nextTree2 = storeState.nextTree) !== null && _storeState$nextTree2 !== void 0 ? _storeState$nextTree2 : storeState.currentTree : storeState.currentTree;\n var loadable = getRecoilValueAsLoadable$2(store, recoilValue, treeState);\n return {\n loadable: loadable,\n key: recoilValue.key\n };\n }, [storeRef, recoilValue]); // Memoize the state to avoid unnecessary rerenders\n\n var memoizePreviousSnapshot = useCallback$1(function (getState) {\n var prevState;\n return function () {\n var _prevState, _prevState2;\n\n var nextState = getState();\n\n if ((_prevState = prevState) !== null && _prevState !== void 0 && _prevState.loadable.is(nextState.loadable) && ((_prevState2 = prevState) === null || _prevState2 === void 0 ? void 0 : _prevState2.key) === nextState.key) {\n return prevState;\n }\n\n prevState = nextState;\n return nextState;\n };\n }, []);\n var getMemoizedSnapshot = useMemo$1(function () {\n return memoizePreviousSnapshot(getSnapshot);\n }, [getSnapshot, memoizePreviousSnapshot]);\n var subscribe = useCallback$1(function (notify) {\n var store = storeRef.current;\n var subscription = subscribeToRecoilValue$1(store, recoilValue, notify, componentName);\n return subscription.release;\n }, [storeRef, recoilValue, componentName]);\n return useSyncExternalStore$1(subscribe, getMemoizedSnapshot, // getSnapshot()\n getMemoizedSnapshot // getServerSnapshot() for SSR support\n ).loadable;\n}\n\nfunction useRecoilValueLoadable_MUTABLE_SOURCE(recoilValue) {\n var storeRef = useStoreRef$2();\n var getLoadable = useCallback$1(function () {\n var _storeState$nextTree3;\n\n var store = storeRef.current;\n var storeState = store.getState();\n var treeState = reactMode$3().early ? (_storeState$nextTree3 = storeState.nextTree) !== null && _storeState$nextTree3 !== void 0 ? _storeState$nextTree3 : storeState.currentTree : storeState.currentTree;\n return getRecoilValueAsLoadable$2(store, recoilValue, treeState);\n }, [storeRef, recoilValue]);\n var getLoadableWithTesting = useCallback$1(function () {\n if (process.env.NODE_ENV !== \"production\") {\n recoilComponentGetRecoilValueCount_FOR_TESTING.current++;\n }\n\n return getLoadable();\n }, [getLoadable]);\n var componentName = Recoil_useComponentName();\n var subscribe = useCallback$1(function (_storeState, notify) {\n var store = storeRef.current;\n var subscription = subscribeToRecoilValue$1(store, recoilValue, function () {\n if (!Recoil_gkx('recoil_suppress_rerender_in_callback')) {\n return notify();\n } // Only re-render if the value has changed.\n // This will evaluate the atom/selector now as well as when the\n // component renders, but that may help with prefetching.\n\n\n var newLoadable = getLoadable();\n\n if (!prevLoadableRef.current.is(newLoadable)) {\n notify();\n } // If the component is suspended then the effect setting prevLoadableRef\n // will not run. So, set the previous value here when its subscription\n // is fired to wake it up. We can't just rely on this, though, because\n // this only executes when an atom/selector is dirty and the atom/selector\n // passed to the hook can dynamically change.\n\n\n prevLoadableRef.current = newLoadable;\n }, componentName);\n return subscription.release;\n }, [storeRef, recoilValue, componentName, getLoadable]);\n var source = useRecoilMutableSource$1();\n\n if (source == null) {\n throw Recoil_err('Recoil hooks must be used in components contained within a component.');\n }\n\n var loadable = useMutableSource$1(source, getLoadableWithTesting, subscribe);\n var prevLoadableRef = useRef$4(loadable);\n useEffect$3(function () {\n prevLoadableRef.current = loadable;\n });\n return loadable;\n}\n\nfunction useRecoilValueLoadable_TRANSITION_SUPPORT(recoilValue) {\n var storeRef = useStoreRef$2();\n var componentName = Recoil_useComponentName(); // Accessors to get the current state\n\n var getLoadable = useCallback$1(function () {\n var _storeState$nextTree4;\n\n if (process.env.NODE_ENV !== \"production\") {\n recoilComponentGetRecoilValueCount_FOR_TESTING.current++;\n }\n\n var store = storeRef.current;\n var storeState = store.getState();\n var treeState = reactMode$3().early ? (_storeState$nextTree4 = storeState.nextTree) !== null && _storeState$nextTree4 !== void 0 ? _storeState$nextTree4 : storeState.currentTree : storeState.currentTree;\n return getRecoilValueAsLoadable$2(store, recoilValue, treeState);\n }, [storeRef, recoilValue]);\n var getState = useCallback$1(function () {\n return {\n loadable: getLoadable(),\n key: recoilValue.key\n };\n }, [getLoadable, recoilValue.key]); // Memoize state snapshots\n\n var updateState = useCallback$1(function (prevState) {\n var nextState = getState();\n return prevState.loadable.is(nextState.loadable) && prevState.key === nextState.key ? prevState : nextState;\n }, [getState]); // Subscribe to Recoil state changes\n\n useEffect$3(function () {\n var subscription = subscribeToRecoilValue$1(storeRef.current, recoilValue, function (_state) {\n setState(updateState);\n }, componentName); // Update state in case we are using a different key\n\n setState(updateState);\n return subscription.release;\n }, [componentName, recoilValue, storeRef, updateState]); // Get the current state\n\n var _useState$3 = useState$1(getState),\n _useState$4 = _slicedToArray(_useState$3, 2),\n state = _useState$4[0],\n setState = _useState$4[1]; // If we changed keys, then return the state for the new key.\n // This is important in case the old key would cause the component to suspend.\n // We don't have to set the new state here since the subscribing effect above\n // will do that.\n\n\n return state.key !== recoilValue.key ? getState().loadable : state.loadable;\n}\n\nfunction useRecoilValueLoadable_LEGACY(recoilValue) {\n var storeRef = useStoreRef$2(); // eslint-disable-next-line fb-www/react-no-unused-state-hook\n\n var _useState$5 = useState$1([]),\n _useState$6 = _slicedToArray(_useState$5, 2),\n forceUpdate = _useState$6[1];\n\n var componentName = Recoil_useComponentName();\n var getLoadable = useCallback$1(function () {\n var _storeState$nextTree5;\n\n if (process.env.NODE_ENV !== \"production\") {\n recoilComponentGetRecoilValueCount_FOR_TESTING.current++;\n }\n\n var store = storeRef.current;\n var storeState = store.getState();\n var treeState = reactMode$3().early ? (_storeState$nextTree5 = storeState.nextTree) !== null && _storeState$nextTree5 !== void 0 ? _storeState$nextTree5 : storeState.currentTree : storeState.currentTree;\n return getRecoilValueAsLoadable$2(store, recoilValue, treeState);\n }, [storeRef, recoilValue]);\n var loadable = getLoadable();\n var prevLoadableRef = useRef$4(loadable);\n useEffect$3(function () {\n prevLoadableRef.current = loadable;\n });\n useEffect$3(function () {\n var store = storeRef.current;\n var storeState = store.getState();\n var subscription = subscribeToRecoilValue$1(store, recoilValue, function (_state) {\n var _prevLoadableRef$curr;\n\n if (!Recoil_gkx('recoil_suppress_rerender_in_callback')) {\n return forceUpdate([]);\n }\n\n var newLoadable = getLoadable();\n\n if (!((_prevLoadableRef$curr = prevLoadableRef.current) !== null && _prevLoadableRef$curr !== void 0 && _prevLoadableRef$curr.is(newLoadable))) {\n forceUpdate(newLoadable);\n }\n\n prevLoadableRef.current = newLoadable;\n }, componentName);\n /**\n * Since we're subscribing in an effect we need to update to the latest\n * value of the atom since it may have changed since we rendered. We can\n * go ahead and do that now, unless we're in the middle of a batch --\n * in which case we should do it at the end of the batch, due to the\n * following edge case: Suppose an atom is updated in another useEffect\n * of this same component. Then the following sequence of events occur:\n * 1. Atom is updated and subs fired (but we may not be subscribed\n * yet depending on order of effects, so we miss this) Updated value\n * is now in nextTree, but not currentTree.\n * 2. This effect happens. We subscribe and update.\n * 3. From the update we re-render and read currentTree, with old value.\n * 4. Batcher's effect sets currentTree to nextTree.\n * In this sequence we miss the update. To avoid that, add the update\n * to queuedComponentCallback if a batch is in progress.\n */\n\n if (storeState.nextTree) {\n store.getState().queuedComponentCallbacks_DEPRECATED.push(function () {\n prevLoadableRef.current = null;\n forceUpdate([]);\n });\n } else {\n var _prevLoadableRef$curr2;\n\n if (!Recoil_gkx('recoil_suppress_rerender_in_callback')) {\n return forceUpdate([]);\n }\n\n var newLoadable = getLoadable();\n\n if (!((_prevLoadableRef$curr2 = prevLoadableRef.current) !== null && _prevLoadableRef$curr2 !== void 0 && _prevLoadableRef$curr2.is(newLoadable))) {\n forceUpdate(newLoadable);\n }\n\n prevLoadableRef.current = newLoadable;\n }\n\n return subscription.release;\n }, [componentName, getLoadable, recoilValue, storeRef]);\n return loadable;\n}\n/**\n Like useRecoilValue(), but either returns the value if available or\n just undefined if not available for any reason, such as pending or error.\n*/\n\n\nfunction useRecoilValueLoadable(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable');\n }\n\n if (Recoil_gkx('recoil_memory_managament_2020')) {\n // eslint-disable-next-line fb-www/react-hooks\n Recoil_useRetain(recoilValue);\n }\n\n return {\n TRANSITION_SUPPORT: useRecoilValueLoadable_TRANSITION_SUPPORT,\n // Recoil will attemp to detect if `useSyncExternalStore()` is supported with\n // `reactMode()` before calling it. However, sometimes the host React\n // environment supports it but uses additional React renderers (such as with\n // `react-three-fiber`) which do not. While this is technically a user issue\n // by using a renderer with React 18+ that doesn't fully support React 18 we\n // don't want to break users if it can be avoided. As the current renderer can\n // change at runtime, we need to dynamically check and fallback if necessary.\n SYNC_EXTERNAL_STORE: currentRendererSupportsUseSyncExternalStore$1() ? useRecoilValueLoadable_SYNC_EXTERNAL_STORE : useRecoilValueLoadable_TRANSITION_SUPPORT,\n MUTABLE_SOURCE: useRecoilValueLoadable_MUTABLE_SOURCE,\n LEGACY: useRecoilValueLoadable_LEGACY\n }[reactMode$3().mode](recoilValue);\n}\n/**\n Returns the value represented by the RecoilValue.\n If the value is pending, it will throw a Promise to suspend the component,\n if the value is an error it will throw it for the nearest React error boundary.\n This will also subscribe the component for any updates in the value.\n */\n\n\nfunction useRecoilValue(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValue');\n }\n\n var storeRef = useStoreRef$2();\n var loadable = useRecoilValueLoadable(recoilValue);\n return handleLoadable(loadable, recoilValue, storeRef);\n}\n/**\n Returns a function that allows the value of a RecoilState to be updated, but does\n not subscribe the component to changes to that RecoilState.\n*/\n\n\nfunction useSetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useSetRecoilState');\n }\n\n var storeRef = useStoreRef$2();\n return useCallback$1(function (newValueOrUpdater) {\n setRecoilValue$2(storeRef.current, recoilState, newValueOrUpdater);\n }, [storeRef, recoilState]);\n}\n/**\n Returns a function that will reset the value of a RecoilState to its default\n*/\n\n\nfunction useResetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useResetRecoilState');\n }\n\n var storeRef = useStoreRef$2();\n return useCallback$1(function () {\n setRecoilValue$2(storeRef.current, recoilState, DEFAULT_VALUE$2);\n }, [storeRef, recoilState]);\n}\n/**\n Equivalent to useState(). Allows the value of the RecoilState to be read and written.\n Subsequent updates to the RecoilState will cause the component to re-render. If the\n RecoilState is pending, this will suspend the component and initiate the\n retrieval of the value. If evaluating the RecoilState resulted in an error, this will\n throw the error so that the nearest React error boundary can catch it.\n*/\n\n\nfunction useRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useRecoilState');\n }\n\n return [useRecoilValue(recoilState), useSetRecoilState(recoilState)];\n}\n/**\n Like useRecoilState(), but does not cause Suspense or React error handling. Returns\n an object that indicates whether the RecoilState is available, pending, or\n unavailable due to an error.\n*/\n\n\nfunction useRecoilStateLoadable(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useRecoilStateLoadable');\n }\n\n return [useRecoilValueLoadable(recoilState), useSetRecoilState(recoilState)];\n}\n\nfunction useSetUnvalidatedAtomValues() {\n var storeRef = useStoreRef$2();\n return function (values) {\n var transactionMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n batchUpdates$2(function () {\n storeRef.current.addTransactionMetadata(transactionMetadata);\n values.forEach(function (value, key) {\n return setUnvalidatedRecoilValue$2(storeRef.current, new AbstractRecoilValue$3(key), value);\n });\n });\n };\n}\n/**\n * Experimental variants of hooks with support for useTransition()\n */\n\n\nfunction useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE');\n\n if (!reactMode$3().early) {\n Recoil_recoverableViolation('Attepmt to use a hook with UNSTABLE_TRANSITION_SUPPORT in a rendering mode incompatible with concurrent rendering. Try enabling the recoil_sync_external_store or recoil_transition_support GKs.');\n }\n }\n\n if (Recoil_gkx('recoil_memory_managament_2020')) {\n // eslint-disable-next-line fb-www/react-hooks\n Recoil_useRetain(recoilValue);\n }\n\n return useRecoilValueLoadable_TRANSITION_SUPPORT(recoilValue);\n}\n\nfunction useRecoilValue_TRANSITION_SUPPORT_UNSTABLE(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilValue, 'useRecoilValue_TRANSITION_SUPPORT_UNSTABLE');\n }\n\n var storeRef = useStoreRef$2();\n var loadable = useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE(recoilValue);\n return handleLoadable(loadable, recoilValue, storeRef);\n}\n\nfunction useRecoilState_TRANSITION_SUPPORT_UNSTABLE(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n validateRecoilValue(recoilState, 'useRecoilState_TRANSITION_SUPPORT_UNSTABLE');\n }\n\n return [useRecoilValue_TRANSITION_SUPPORT_UNSTABLE(recoilState), useSetRecoilState(recoilState)];\n}\n\nvar Recoil_Hooks = {\n recoilComponentGetRecoilValueCount_FOR_TESTING: recoilComponentGetRecoilValueCount_FOR_TESTING,\n useRecoilInterface: useRecoilInterface_DEPRECATED,\n useRecoilState: useRecoilState,\n useRecoilStateLoadable: useRecoilStateLoadable,\n useRecoilValue: useRecoilValue,\n useRecoilValueLoadable: useRecoilValueLoadable,\n useResetRecoilState: useResetRecoilState,\n useSetRecoilState: useSetRecoilState,\n useSetUnvalidatedAtomValues: useSetUnvalidatedAtomValues,\n useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE: useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE,\n useRecoilValue_TRANSITION_SUPPORT_UNSTABLE: useRecoilValue_TRANSITION_SUPPORT_UNSTABLE,\n useRecoilState_TRANSITION_SUPPORT_UNSTABLE: useRecoilState_TRANSITION_SUPPORT_UNSTABLE\n};\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Returns a map containing all of the keys + values from the original map where\n * the given callback returned true.\n */\n\nfunction filterMap(map, callback) {\n var result = new Map();\n\n var _iterator42 = _createForOfIteratorHelper(map),\n _step42;\n\n try {\n for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {\n var _ref41 = _step42.value;\n\n var _ref40 = _slicedToArray(_ref41, 2);\n\n var key = _ref40[0];\n var value = _ref40[1];\n\n if (callback(value, key)) {\n result.set(key, value);\n }\n }\n } catch (err) {\n _iterator42.e(err);\n } finally {\n _iterator42.f();\n }\n\n return result;\n}\n\nvar Recoil_filterMap = filterMap;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\n/**\n * Returns a set containing all of the values from the original set where\n * the given callback returned true.\n */\n\nfunction filterSet(set, callback) {\n var result = new Set();\n\n var _iterator43 = _createForOfIteratorHelper(set),\n _step43;\n\n try {\n for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {\n var value = _step43.value;\n\n if (callback(value)) {\n result.add(value);\n }\n }\n } catch (err) {\n _iterator43.e(err);\n } finally {\n _iterator43.f();\n }\n\n return result;\n}\n\nvar Recoil_filterSet = filterSet;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction mergeMaps() {\n var result = new Map();\n\n for (var _len5 = arguments.length, maps = new Array(_len5), _key8 = 0; _key8 < _len5; _key8++) {\n maps[_key8] = arguments[_key8];\n }\n\n for (var i = 0; i < maps.length; i++) {\n var iterator = maps[i].keys();\n var nextKey = void 0;\n\n while (!(nextKey = iterator.next()).done) {\n // $FlowIssue[incompatible-call] - map/iterator knows nothing about flow types\n result.set(nextKey.value, maps[i].get(nextKey.value));\n }\n }\n\n return result;\n}\n\nvar Recoil_mergeMaps = mergeMaps;\nvar batchUpdates$3 = Recoil_Batching.batchUpdates;\nvar DEFAULT_VALUE$3 = Recoil_Node.DEFAULT_VALUE,\n getNode$4 = Recoil_Node.getNode,\n nodes$1 = Recoil_Node.nodes;\nvar useStoreRef$3 = Recoil_RecoilRoot.useStoreRef;\nvar AbstractRecoilValue$4 = Recoil_RecoilValueInterface.AbstractRecoilValue,\n setRecoilValueLoadable$1 = Recoil_RecoilValueInterface.setRecoilValueLoadable;\nvar SUSPENSE_TIMEOUT_MS$2 = Recoil_Retention.SUSPENSE_TIMEOUT_MS;\nvar cloneSnapshot$1 = Recoil_Snapshot$1.cloneSnapshot;\nvar useCallback$2 = react.useCallback,\n useEffect$4 = react.useEffect,\n useRef$5 = react.useRef,\n useState$2 = react.useState;\nvar isSSR$3 = Recoil_Environment.isSSR;\n\nfunction useTransactionSubscription(callback) {\n var storeRef = useStoreRef$3();\n useEffect$4(function () {\n var sub = storeRef.current.subscribeToTransactions(callback);\n return sub.release;\n }, [callback, storeRef]);\n}\n\nfunction externallyVisibleAtomValuesInState(state) {\n var atomValues = state.atomValues.toMap();\n var persistedAtomContentsValues = Recoil_mapMap(Recoil_filterMap(atomValues, function (v, k) {\n var node = getNode$4(k);\n var persistence = node.persistence_UNSTABLE;\n return persistence != null && persistence.type !== 'none' && v.state === 'hasValue';\n }), function (v) {\n return v.contents;\n }); // Merge in nonvalidated atoms; we may not have defs for them but they will\n // all have persistence on or they wouldn't be there in the first place.\n\n return Recoil_mergeMaps(state.nonvalidatedAtoms.toMap(), persistedAtomContentsValues);\n}\n/**\n Calls the given callback after any atoms have been modified and the consequent\n component re-renders have been committed. This is intended for persisting\n the values of the atoms to storage. The stored values can then be restored\n using the useSetUnvalidatedAtomValues hook.\n\n The callback receives the following info:\n\n atomValues: The current value of every atom that is both persistable (persistence\n type not set to 'none') and whose value is available (not in an\n error or loading state).\n\n previousAtomValues: The value of every persistable and available atom before\n the transaction began.\n\n atomInfo: A map containing the persistence settings for each atom. Every key\n that exists in atomValues will also exist in atomInfo.\n\n modifiedAtoms: The set of atoms that were written to during the transaction.\n\n transactionMetadata: Arbitrary information that was added via the\n useSetUnvalidatedAtomValues hook. Useful for ignoring the useSetUnvalidatedAtomValues\n transaction, to avoid loops.\n*/\n\n\nfunction useTransactionObservation_DEPRECATED(callback) {\n useTransactionSubscription(useCallback$2(function (store) {\n var previousTree = store.getState().previousTree;\n var currentTree = store.getState().currentTree;\n\n if (!previousTree) {\n Recoil_recoverableViolation('Transaction subscribers notified without a previous tree being present -- this is a bug in Recoil');\n previousTree = store.getState().currentTree; // attempt to trundle on\n }\n\n var atomValues = externallyVisibleAtomValuesInState(currentTree);\n var previousAtomValues = externallyVisibleAtomValuesInState(previousTree);\n var atomInfo = Recoil_mapMap(nodes$1, function (node) {\n var _node$persistence_UNS, _node$persistence_UNS2, _node$persistence_UNS3, _node$persistence_UNS4;\n\n return {\n persistence_UNSTABLE: {\n type: (_node$persistence_UNS = (_node$persistence_UNS2 = node.persistence_UNSTABLE) === null || _node$persistence_UNS2 === void 0 ? void 0 : _node$persistence_UNS2.type) !== null && _node$persistence_UNS !== void 0 ? _node$persistence_UNS : 'none',\n backButton: (_node$persistence_UNS3 = (_node$persistence_UNS4 = node.persistence_UNSTABLE) === null || _node$persistence_UNS4 === void 0 ? void 0 : _node$persistence_UNS4.backButton) !== null && _node$persistence_UNS3 !== void 0 ? _node$persistence_UNS3 : false\n }\n };\n }); // Filter on existance in atomValues so that externally-visible rules\n // are also applied to modified atoms (specifically exclude selectors):\n\n var modifiedAtoms = Recoil_filterSet(currentTree.dirtyAtoms, function (k) {\n return atomValues.has(k) || previousAtomValues.has(k);\n });\n callback({\n atomValues: atomValues,\n previousAtomValues: previousAtomValues,\n atomInfo: atomInfo,\n modifiedAtoms: modifiedAtoms,\n transactionMetadata: _objectSpread({}, currentTree.transactionMetadata)\n });\n }, [callback]));\n}\n\nfunction useRecoilTransactionObserver(callback) {\n useTransactionSubscription(useCallback$2(function (store) {\n var snapshot = cloneSnapshot$1(store, 'latest');\n var previousSnapshot = cloneSnapshot$1(store, 'previous');\n callback({\n snapshot: snapshot,\n previousSnapshot: previousSnapshot\n });\n }, [callback]));\n} // Return a snapshot of the current state and subscribe to all state changes\n\n\nfunction useRecoilSnapshot() {\n var storeRef = useStoreRef$3();\n\n var _useState$7 = useState$2(function () {\n return cloneSnapshot$1(storeRef.current);\n }),\n _useState$8 = _slicedToArray(_useState$7, 2),\n snapshot = _useState$8[0],\n setSnapshot = _useState$8[1];\n\n var previousSnapshot = Recoil_usePrevious(snapshot);\n var timeoutID = useRef$5();\n var releaseRef = useRef$5();\n useTransactionSubscription(useCallback$2(function (store) {\n return setSnapshot(cloneSnapshot$1(store));\n }, [])); // Retain snapshot for duration component is mounted\n\n useEffect$4(function () {\n var release = snapshot.retain(); // Release the retain from the rendering call\n\n if (timeoutID.current && !isSSR$3) {\n var _releaseRef$current;\n\n window.clearTimeout(timeoutID.current);\n timeoutID.current = null;\n (_releaseRef$current = releaseRef.current) === null || _releaseRef$current === void 0 ? void 0 : _releaseRef$current.call(releaseRef);\n releaseRef.current = null;\n }\n\n return function () {\n // Defer the release. If \"Fast Refresh\"\" is used then the component may\n // re-render with the same state. The previous cleanup will then run and\n // then the new effect will run. We don't want the snapshot to be released\n // by that cleanup before the new effect has a chance to retain it again.\n // Use timeout of 10 to workaround Firefox issue: https://github.com/facebookexperimental/Recoil/issues/1936\n window.setTimeout(release, 10);\n };\n }, [snapshot]); // Retain snapshot until above effect is run.\n // Release after a threshold in case component is suspended.\n\n if (previousSnapshot !== snapshot && !isSSR$3) {\n // Release the previous snapshot\n if (timeoutID.current) {\n var _releaseRef$current2;\n\n window.clearTimeout(timeoutID.current);\n timeoutID.current = null;\n (_releaseRef$current2 = releaseRef.current) === null || _releaseRef$current2 === void 0 ? void 0 : _releaseRef$current2.call(releaseRef);\n releaseRef.current = null;\n }\n\n releaseRef.current = snapshot.retain();\n timeoutID.current = window.setTimeout(function () {\n var _releaseRef$current3;\n\n timeoutID.current = null;\n (_releaseRef$current3 = releaseRef.current) === null || _releaseRef$current3 === void 0 ? void 0 : _releaseRef$current3.call(releaseRef);\n releaseRef.current = null;\n }, SUSPENSE_TIMEOUT_MS$2);\n }\n\n return snapshot;\n}\n\nfunction gotoSnapshot(store, snapshot) {\n var _storeState$nextTree;\n\n var storeState = store.getState();\n var prev = (_storeState$nextTree = storeState.nextTree) !== null && _storeState$nextTree !== void 0 ? _storeState$nextTree : storeState.currentTree;\n var next = snapshot.getStore_INTERNAL().getState().currentTree;\n batchUpdates$3(function () {\n var keysToUpdate = new Set();\n\n for (var _i4 = 0, _arr2 = [prev.atomValues.keys(), next.atomValues.keys()]; _i4 < _arr2.length; _i4++) {\n var keys = _arr2[_i4];\n\n var _iterator44 = _createForOfIteratorHelper(keys),\n _step44;\n\n try {\n for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {\n var key = _step44.value;\n\n var _prev$atomValues$get, _next$atomValues$get;\n\n if (((_prev$atomValues$get = prev.atomValues.get(key)) === null || _prev$atomValues$get === void 0 ? void 0 : _prev$atomValues$get.contents) !== ((_next$atomValues$get = next.atomValues.get(key)) === null || _next$atomValues$get === void 0 ? void 0 : _next$atomValues$get.contents) && getNode$4(key).shouldRestoreFromSnapshots) {\n keysToUpdate.add(key);\n }\n }\n } catch (err) {\n _iterator44.e(err);\n } finally {\n _iterator44.f();\n }\n }\n\n keysToUpdate.forEach(function (key) {\n setRecoilValueLoadable$1(store, new AbstractRecoilValue$4(key), next.atomValues.has(key) ? Recoil_nullthrows(next.atomValues.get(key)) : DEFAULT_VALUE$3);\n });\n store.replaceState(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n stateID: snapshot.getID()\n });\n });\n });\n}\n\nfunction useGotoRecoilSnapshot() {\n var storeRef = useStoreRef$3();\n return useCallback$2(function (snapshot) {\n return gotoSnapshot(storeRef.current, snapshot);\n }, [storeRef]);\n}\n\nvar Recoil_SnapshotHooks = {\n useRecoilSnapshot: useRecoilSnapshot,\n gotoSnapshot: gotoSnapshot,\n useGotoRecoilSnapshot: useGotoRecoilSnapshot,\n useRecoilTransactionObserver: useRecoilTransactionObserver,\n useTransactionObservation_DEPRECATED: useTransactionObservation_DEPRECATED,\n useTransactionSubscription_DEPRECATED: useTransactionSubscription\n};\nvar peekNodeInfo$2 = Recoil_FunctionalCore.peekNodeInfo;\nvar useStoreRef$4 = Recoil_RecoilRoot.useStoreRef;\n\nfunction useGetRecoilValueInfo() {\n var storeRef = useStoreRef$4();\n return function (_ref42) {\n var key = _ref42.key;\n return peekNodeInfo$2(storeRef.current, storeRef.current.getState().currentTree, key);\n };\n}\n\nvar Recoil_useGetRecoilValueInfo = useGetRecoilValueInfo;\nvar reactMode$4 = Recoil_ReactMode.reactMode;\nvar RecoilRoot$1 = Recoil_RecoilRoot.RecoilRoot,\n useStoreRef$5 = Recoil_RecoilRoot.useStoreRef;\nvar useMemo$2 = react.useMemo;\n\nfunction useRecoilBridgeAcrossReactRoots() {\n // The test fails when using useMutableSource(), but only if act() is used\n // for the nested root. So, this may only be a testing environment issue.\n if (reactMode$4().mode === 'MUTABLE_SOURCE') {\n // eslint-disable-next-line fb-www/no-console\n console.warn('Warning: There are known issues using useRecoilBridgeAcrossReactRoots() in recoil_mutable_source rendering mode. Please consider upgrading to recoil_sync_external_store mode.');\n }\n\n var store = useStoreRef$5().current;\n return useMemo$2(function () {\n // eslint-disable-next-line no-shadow\n function RecoilBridge(_ref43) {\n var children = _ref43.children;\n return /*#__PURE__*/react.createElement(RecoilRoot$1, {\n store_INTERNAL: store\n }, children);\n }\n\n return RecoilBridge;\n }, [store]);\n}\n\nvar Recoil_useRecoilBridgeAcrossReactRoots = useRecoilBridgeAcrossReactRoots;\nvar loadableWithValue$1 = Recoil_Loadable$1.loadableWithValue;\nvar initializeNode$3 = Recoil_FunctionalCore.initializeNode;\nvar DEFAULT_VALUE$4 = Recoil_Node.DEFAULT_VALUE,\n getNode$5 = Recoil_Node.getNode;\nvar copyTreeState$1 = Recoil_RecoilValueInterface.copyTreeState,\n getRecoilValueAsLoadable$3 = Recoil_RecoilValueInterface.getRecoilValueAsLoadable,\n invalidateDownstreams$1 = Recoil_RecoilValueInterface.invalidateDownstreams,\n writeLoadableToTreeState$1 = Recoil_RecoilValueInterface.writeLoadableToTreeState;\n\nfunction isAtom(recoilValue) {\n return getNode$5(recoilValue.key).nodeType === 'atom';\n}\n\nvar TransactionInterfaceImpl = /*#__PURE__*/function () {\n function TransactionInterfaceImpl(store, treeState) {\n var _this10 = this;\n\n _classCallCheck(this, TransactionInterfaceImpl);\n\n _defineProperty(this, \"_store\", void 0);\n\n _defineProperty(this, \"_treeState\", void 0);\n\n _defineProperty(this, \"_changes\", void 0);\n\n _defineProperty(this, \"get\", function (recoilValue) {\n if (_this10._changes.has(recoilValue.key)) {\n // $FlowIssue[incompatible-return]\n return _this10._changes.get(recoilValue.key);\n }\n\n if (!isAtom(recoilValue)) {\n throw Recoil_err('Reading selectors within atomicUpdate is not supported');\n }\n\n var loadable = getRecoilValueAsLoadable$3(_this10._store, recoilValue, _this10._treeState);\n\n if (loadable.state === 'hasValue') {\n return loadable.contents;\n } else if (loadable.state === 'hasError') {\n throw loadable.contents;\n } else {\n throw Recoil_err(\"Expected Recoil atom \".concat(recoilValue.key, \" to have a value, but it is in a loading state.\"));\n }\n });\n\n _defineProperty(this, \"set\", function (recoilState, valueOrUpdater) {\n if (!isAtom(recoilState)) {\n throw Recoil_err('Setting selectors within atomicUpdate is not supported');\n }\n\n if (typeof valueOrUpdater === 'function') {\n var current = _this10.get(recoilState);\n\n _this10._changes.set(recoilState.key, valueOrUpdater(current)); // flowlint-line unclear-type:off\n\n } else {\n // Initialize atom and run effects if not initialized yet\n initializeNode$3(_this10._store, recoilState.key, 'set');\n\n _this10._changes.set(recoilState.key, valueOrUpdater);\n }\n });\n\n _defineProperty(this, \"reset\", function (recoilState) {\n _this10.set(recoilState, DEFAULT_VALUE$4);\n });\n\n this._store = store;\n this._treeState = treeState;\n this._changes = new Map();\n } // Allow destructing\n // eslint-disable-next-line fb-www/extra-arrow-initializer\n\n\n _createClass(TransactionInterfaceImpl, [{\n key: \"newTreeState_INTERNAL\",\n value: function newTreeState_INTERNAL() {\n if (this._changes.size === 0) {\n return this._treeState;\n }\n\n var newState = copyTreeState$1(this._treeState);\n\n var _iterator45 = _createForOfIteratorHelper(this._changes),\n _step45;\n\n try {\n for (_iterator45.s(); !(_step45 = _iterator45.n()).done;) {\n var _ref46 = _step45.value;\n\n var _ref45 = _slicedToArray(_ref46, 2);\n\n var k = _ref45[0];\n var v = _ref45[1];\n writeLoadableToTreeState$1(newState, k, loadableWithValue$1(v));\n }\n } catch (err) {\n _iterator45.e(err);\n } finally {\n _iterator45.f();\n }\n\n invalidateDownstreams$1(this._store, newState);\n return newState;\n }\n }]);\n\n return TransactionInterfaceImpl;\n}();\n\nfunction atomicUpdater(store) {\n return function (fn) {\n store.replaceState(function (treeState) {\n var changeset = new TransactionInterfaceImpl(store, treeState);\n fn(changeset);\n return changeset.newTreeState_INTERNAL();\n });\n };\n}\n\nvar Recoil_AtomicUpdates = {\n atomicUpdater: atomicUpdater\n};\nvar Recoil_AtomicUpdates_1 = Recoil_AtomicUpdates.atomicUpdater;\nvar Recoil_AtomicUpdates$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n atomicUpdater: Recoil_AtomicUpdates_1\n});\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\n\nvar invariant_1 = invariant; // @oss-only\n\nvar Recoil_invariant = invariant_1;\nvar atomicUpdater$1 = Recoil_AtomicUpdates$1.atomicUpdater;\nvar batchUpdates$4 = Recoil_Batching.batchUpdates;\nvar DEFAULT_VALUE$5 = Recoil_Node.DEFAULT_VALUE;\nvar useStoreRef$6 = Recoil_RecoilRoot.useStoreRef;\nvar refreshRecoilValue$1 = Recoil_RecoilValueInterface.refreshRecoilValue,\n setRecoilValue$3 = Recoil_RecoilValueInterface.setRecoilValue;\nvar cloneSnapshot$2 = Recoil_Snapshot$1.cloneSnapshot;\nvar gotoSnapshot$1 = Recoil_SnapshotHooks.gotoSnapshot;\nvar useCallback$3 = react.useCallback;\n\nvar Sentinel = function Sentinel() {\n _classCallCheck(this, Sentinel);\n};\n\nvar SENTINEL = new Sentinel();\n\nfunction recoilCallback(store, fn, args, extraInterface) {\n var ret = SENTINEL;\n var releaseSnapshot;\n batchUpdates$4(function () {\n var errMsg = 'useRecoilCallback() expects a function that returns a function: ' + 'it accepts a function of the type (RecoilInterface) => (Args) => ReturnType ' + 'and returns a callback function (Args) => ReturnType, where RecoilInterface is ' + 'an object {snapshot, set, ...} and Args and ReturnType are the argument and return ' + 'types of the callback you want to create. Please see the docs ' + 'at recoiljs.org for details.';\n\n if (typeof fn !== 'function') {\n throw Recoil_err(errMsg);\n } // Clone the snapshot lazily to avoid overhead if the callback does not use it.\n // Note that this means the snapshot may represent later state from when\n // the callback was called if it first accesses the snapshot asynchronously.\n\n\n var callbackInterface = Recoil_lazyProxy(_objectSpread(_objectSpread({}, extraInterface !== null && extraInterface !== void 0 ? extraInterface : {}), {}, {\n // flowlint-line unclear-type:off\n set: function set(node, newValue) {\n return setRecoilValue$3(store, node, newValue);\n },\n reset: function reset(node) {\n return setRecoilValue$3(store, node, DEFAULT_VALUE$5);\n },\n refresh: function refresh(node) {\n return refreshRecoilValue$1(store, node);\n },\n gotoSnapshot: function gotoSnapshot(snapshot) {\n return gotoSnapshot$1(store, snapshot);\n },\n transact_UNSTABLE: function transact_UNSTABLE(transaction) {\n return atomicUpdater$1(store)(transaction);\n }\n }), {\n snapshot: function snapshot() {\n var snapshot = cloneSnapshot$2(store);\n releaseSnapshot = snapshot.retain();\n return snapshot;\n }\n });\n var callback = fn(callbackInterface);\n\n if (typeof callback !== 'function') {\n throw Recoil_err(errMsg);\n }\n\n ret = callback.apply(void 0, _toConsumableArray(args));\n });\n !!(ret instanceof Sentinel) ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'batchUpdates should return immediately') : Recoil_invariant(false) : void 0;\n\n if (Recoil_isPromise(ret)) {\n ret[\"finally\"](function () {\n var _releaseSnapshot;\n\n (_releaseSnapshot = releaseSnapshot) === null || _releaseSnapshot === void 0 ? void 0 : _releaseSnapshot();\n });\n } else {\n var _releaseSnapshot2;\n\n (_releaseSnapshot2 = releaseSnapshot) === null || _releaseSnapshot2 === void 0 ? void 0 : _releaseSnapshot2();\n }\n\n return ret;\n}\n\nfunction useRecoilCallback(fn, deps) {\n var storeRef = useStoreRef$6();\n return useCallback$3( // $FlowIssue[incompatible-call]\n function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key9 = 0; _key9 < _len6; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return recoilCallback(storeRef.current, fn, args);\n }, deps != null ? [].concat(_toConsumableArray(deps), [storeRef]) : undefined // eslint-disable-line fb-www/react-hooks-deps\n );\n}\n\nvar Recoil_useRecoilCallback = {\n recoilCallback: recoilCallback,\n useRecoilCallback: useRecoilCallback\n};\nvar useStoreRef$7 = Recoil_RecoilRoot.useStoreRef;\nvar refreshRecoilValue$2 = Recoil_RecoilValueInterface.refreshRecoilValue;\nvar useCallback$4 = react.useCallback;\n\nfunction useRecoilRefresher(recoilValue) {\n var storeRef = useStoreRef$7();\n return useCallback$4(function () {\n var store = storeRef.current;\n refreshRecoilValue$2(store, recoilValue);\n }, [recoilValue, storeRef]);\n}\n\nvar Recoil_useRecoilRefresher = useRecoilRefresher;\nvar atomicUpdater$2 = Recoil_AtomicUpdates$1.atomicUpdater;\nvar useStoreRef$8 = Recoil_RecoilRoot.useStoreRef;\nvar useMemo$3 = react.useMemo;\n\nfunction useRecoilTransaction(fn, deps) {\n var storeRef = useStoreRef$8();\n return useMemo$3(function () {\n return function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key10 = 0; _key10 < _len7; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n var atomicUpdate = atomicUpdater$2(storeRef.current);\n atomicUpdate(function (transactionInterface) {\n fn(transactionInterface).apply(void 0, args);\n });\n };\n }, deps != null ? [].concat(_toConsumableArray(deps), [storeRef]) : undefined // eslint-disable-line fb-www/react-hooks-deps\n );\n}\n\nvar Recoil_useRecoilTransaction = useRecoilTransaction;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar WrappedValue = function WrappedValue(value) {\n _classCallCheck(this, WrappedValue);\n\n _defineProperty(this, \"value\", void 0);\n\n this.value = value;\n};\n\nvar Recoil_Wrapper = {\n WrappedValue: WrappedValue\n};\nvar Recoil_Wrapper_1 = Recoil_Wrapper.WrappedValue;\nvar Recoil_Wrapper$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n WrappedValue: Recoil_Wrapper_1\n});\nvar isFastRefreshEnabled$2 = Recoil_ReactMode.isFastRefreshEnabled;\n\nvar ChangedPathError = /*#__PURE__*/function (_Error3) {\n _inherits(ChangedPathError, _Error3);\n\n var _super9 = _createSuper(ChangedPathError);\n\n function ChangedPathError() {\n _classCallCheck(this, ChangedPathError);\n\n return _super9.apply(this, arguments);\n }\n\n return ChangedPathError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar TreeCache = /*#__PURE__*/function () {\n // $FlowIssue[unclear-type]\n function TreeCache(options) {\n _classCallCheck(this, TreeCache);\n\n var _options$onHit, _options$onSet, _options$mapNodeValue;\n\n _defineProperty(this, \"_name\", void 0);\n\n _defineProperty(this, \"_numLeafs\", void 0);\n\n _defineProperty(this, \"_root\", void 0);\n\n _defineProperty(this, \"_onHit\", void 0);\n\n _defineProperty(this, \"_onSet\", void 0);\n\n _defineProperty(this, \"_mapNodeValue\", void 0);\n\n this._name = options === null || options === void 0 ? void 0 : options.name;\n this._numLeafs = 0;\n this._root = null;\n this._onHit = (_options$onHit = options === null || options === void 0 ? void 0 : options.onHit) !== null && _options$onHit !== void 0 ? _options$onHit : function () {};\n this._onSet = (_options$onSet = options === null || options === void 0 ? void 0 : options.onSet) !== null && _options$onSet !== void 0 ? _options$onSet : function () {};\n this._mapNodeValue = (_options$mapNodeValue = options === null || options === void 0 ? void 0 : options.mapNodeValue) !== null && _options$mapNodeValue !== void 0 ? _options$mapNodeValue : function (val) {\n return val;\n };\n }\n\n _createClass(TreeCache, [{\n key: \"size\",\n value: function size() {\n return this._numLeafs;\n } // $FlowIssue[unclear-type]\n\n }, {\n key: \"root\",\n value: function root() {\n return this._root;\n }\n }, {\n key: \"get\",\n value: function get(getNodeValue, handlers) {\n var _this$getLeafNode;\n\n return (_this$getLeafNode = this.getLeafNode(getNodeValue, handlers)) === null || _this$getLeafNode === void 0 ? void 0 : _this$getLeafNode.value;\n }\n }, {\n key: \"getLeafNode\",\n value: function getLeafNode(getNodeValue, handlers) {\n if (this._root == null) {\n return undefined;\n } // Iterate down the tree based on the current node values until we hit a leaf\n // $FlowIssue[unclear-type]\n\n\n var node = this._root;\n\n while (node) {\n handlers === null || handlers === void 0 ? void 0 : handlers.onNodeVisit(node);\n\n if (node.type === 'leaf') {\n this._onHit(node);\n\n return node;\n }\n\n var nodeValue = this._mapNodeValue(getNodeValue(node.nodeKey));\n\n node = node.branches.get(nodeValue);\n }\n\n return undefined;\n }\n }, {\n key: \"set\",\n value: function set(route, value, handlers) {\n var _this11 = this;\n\n var addLeaf = function addLeaf() {\n var _node2, _node3, _this$_root2, _handlers$onNodeVisit2; // First, setup the branch nodes for the route:\n // Iterate down the tree to find or add branch nodes following the route\n\n\n var node;\n var branchKey;\n\n var _iterator46 = _createForOfIteratorHelper(route),\n _step46;\n\n try {\n for (_iterator46.s(); !(_step46 = _iterator46.n()).done;) {\n var _ref49 = _step46.value;\n\n var _ref48 = _slicedToArray(_ref49, 2);\n\n var nodeKey = _ref48[0];\n var nodeValue = _ref48[1];\n\n var _node, _handlers$onNodeVisit, _this$_root; // If the previous root was a leaf, while we not have a get(), it means\n // the selector has inconsistent values or implementation changed.\n\n\n var root = _this11._root;\n\n if ((root === null || root === void 0 ? void 0 : root.type) === 'leaf') {\n throw _this11.invalidCacheError();\n } // node now refers to the next node down in the tree\n\n\n var parent = node; // $FlowFixMe[prop-missing]\n // $FlowFixMe[incompatible-type]\n\n node = parent ? parent.branches.get(branchKey) : root; // $FlowFixMe[prop-missing]\n // $FlowFixMe[incompatible-type]\n\n node = (_node = node) !== null && _node !== void 0 ? _node : {\n type: 'branch',\n nodeKey: nodeKey,\n parent: parent,\n branches: new Map(),\n branchKey: branchKey\n }; // If we found an existing node, confirm it has a consistent value\n\n if (node.type !== 'branch' || node.nodeKey !== nodeKey) {\n throw _this11.invalidCacheError();\n } // Add the branch node to the tree\n\n\n parent === null || parent === void 0 ? void 0 : parent.branches.set(branchKey, node);\n handlers === null || handlers === void 0 ? void 0 : (_handlers$onNodeVisit = handlers.onNodeVisit) === null || _handlers$onNodeVisit === void 0 ? void 0 : _handlers$onNodeVisit.call(handlers, node); // Prepare for next iteration and install root if it is new.\n\n branchKey = _this11._mapNodeValue(nodeValue);\n _this11._root = (_this$_root = _this11._root) !== null && _this$_root !== void 0 ? _this$_root : node;\n } // Second, setup the leaf node:\n // If there is an existing leaf for this route confirm it is consistent\n\n } catch (err) {\n _iterator46.e(err);\n } finally {\n _iterator46.f();\n }\n\n var oldLeaf = node ? (_node2 = node) === null || _node2 === void 0 ? void 0 : _node2.branches.get(branchKey) : _this11._root;\n\n if (oldLeaf != null && (oldLeaf.type !== 'leaf' || oldLeaf.branchKey !== branchKey)) {\n throw _this11.invalidCacheError();\n } // Create a new or replacement leaf.\n\n\n var leafNode = {\n type: 'leaf',\n value: value,\n parent: node,\n branchKey: branchKey\n }; // Install the leaf and call handlers\n\n (_node3 = node) === null || _node3 === void 0 ? void 0 : _node3.branches.set(branchKey, leafNode);\n _this11._root = (_this$_root2 = _this11._root) !== null && _this$_root2 !== void 0 ? _this$_root2 : leafNode;\n _this11._numLeafs++;\n\n _this11._onSet(leafNode);\n\n handlers === null || handlers === void 0 ? void 0 : (_handlers$onNodeVisit2 = handlers.onNodeVisit) === null || _handlers$onNodeVisit2 === void 0 ? void 0 : _handlers$onNodeVisit2.call(handlers, leafNode);\n };\n\n try {\n addLeaf();\n } catch (error) {\n // If the cache was stale or observed inconsistent values, such as with\n // Fast Refresh, then clear it and rebuild with the new values.\n if (error instanceof ChangedPathError) {\n this.clear();\n addLeaf();\n } else {\n throw error;\n }\n }\n } // Returns true if leaf was actually deleted from the tree\n\n }, {\n key: \"delete\",\n value: function _delete(leaf) {\n var root = this.root();\n\n if (!root) {\n return false;\n }\n\n if (leaf === root) {\n this._root = null;\n this._numLeafs = 0;\n return true;\n } // Iterate up from the leaf deleteing it from it's parent's branches.\n\n\n var node = leaf.parent;\n var branchKey = leaf.branchKey;\n\n while (node) {\n var _node4;\n\n node.branches[\"delete\"](branchKey); // Stop iterating if we hit the root.\n\n if (node === root) {\n if (node.branches.size === 0) {\n this._root = null;\n this._numLeafs = 0;\n } else {\n this._numLeafs--;\n }\n\n return true;\n } // Stop iterating if there are other branches since we don't need to\n // remove any more nodes.\n\n\n if (node.branches.size > 0) {\n break;\n } // Iterate up to our parent\n\n\n branchKey = (_node4 = node) === null || _node4 === void 0 ? void 0 : _node4.branchKey;\n node = node.parent;\n } // Confirm that the leaf we are deleting is actually attached to our tree\n\n\n for (; node !== root; node = node.parent) {\n if (node == null) {\n return false;\n }\n }\n\n this._numLeafs--;\n return true;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._numLeafs = 0;\n this._root = null;\n }\n }, {\n key: \"invalidCacheError\",\n value: function invalidCacheError() {\n var CHANGED_PATH_ERROR_MESSAGE = isFastRefreshEnabled$2() ? 'Possible Fast Refresh module reload detected. ' + 'This may also be caused by an selector returning inconsistent values. ' + 'Resetting cache.' : 'Invalid cache values. This happens when selectors do not return ' + 'consistent values for the same input dependency values. That may also ' + 'be caused when using Fast Refresh to change a selector implementation. ' + 'Resetting cache.';\n Recoil_recoverableViolation(CHANGED_PATH_ERROR_MESSAGE + (this._name != null ? \" - \".concat(this._name) : ''));\n throw new ChangedPathError();\n }\n }]);\n\n return TreeCache;\n}();\n\nvar Recoil_TreeCache = {\n TreeCache: TreeCache\n};\nvar Recoil_TreeCache_1 = Recoil_TreeCache.TreeCache;\nvar Recoil_TreeCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TreeCache: Recoil_TreeCache_1\n});\n\nvar LRUCache = /*#__PURE__*/function () {\n function LRUCache(options) {\n _classCallCheck(this, LRUCache);\n\n var _options$mapKey;\n\n _defineProperty(this, \"_maxSize\", void 0);\n\n _defineProperty(this, \"_size\", void 0);\n\n _defineProperty(this, \"_head\", void 0);\n\n _defineProperty(this, \"_tail\", void 0);\n\n _defineProperty(this, \"_map\", void 0);\n\n _defineProperty(this, \"_keyMapper\", void 0);\n\n this._maxSize = options.maxSize;\n this._size = 0;\n this._head = null;\n this._tail = null;\n this._map = new Map();\n this._keyMapper = (_options$mapKey = options.mapKey) !== null && _options$mapKey !== void 0 ? _options$mapKey : function (v) {\n return v;\n };\n }\n\n _createClass(LRUCache, [{\n key: \"head\",\n value: function head() {\n return this._head;\n }\n }, {\n key: \"tail\",\n value: function tail() {\n return this._tail;\n }\n }, {\n key: \"size\",\n value: function size() {\n return this._size;\n }\n }, {\n key: \"maxSize\",\n value: function maxSize() {\n return this._maxSize;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this._map.has(this._keyMapper(key));\n }\n }, {\n key: \"get\",\n value: function get(key) {\n var mappedKey = this._keyMapper(key);\n\n var node = this._map.get(mappedKey);\n\n if (!node) {\n return undefined;\n }\n\n this.set(key, node.value);\n return node.value;\n }\n }, {\n key: \"set\",\n value: function set(key, val) {\n var mappedKey = this._keyMapper(key);\n\n var existingNode = this._map.get(mappedKey);\n\n if (existingNode) {\n this[\"delete\"](key);\n }\n\n var head = this.head();\n var node = {\n key: key,\n right: head,\n left: null,\n value: val\n };\n\n if (head) {\n head.left = node;\n } else {\n this._tail = node;\n }\n\n this._map.set(mappedKey, node);\n\n this._head = node;\n this._size++;\n\n this._maybeDeleteLRU();\n }\n }, {\n key: \"_maybeDeleteLRU\",\n value: function _maybeDeleteLRU() {\n if (this.size() > this.maxSize()) {\n this.deleteLru();\n }\n }\n }, {\n key: \"deleteLru\",\n value: function deleteLru() {\n var tail = this.tail();\n\n if (tail) {\n this[\"delete\"](tail.key);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n var mappedKey = this._keyMapper(key);\n\n if (!this._size || !this._map.has(mappedKey)) {\n return;\n }\n\n var node = Recoil_nullthrows(this._map.get(mappedKey));\n var right = node.right;\n var left = node.left;\n\n if (right) {\n right.left = node.left;\n }\n\n if (left) {\n left.right = node.right;\n }\n\n if (node === this.head()) {\n this._head = right;\n }\n\n if (node === this.tail()) {\n this._tail = left;\n }\n\n this._map[\"delete\"](mappedKey);\n\n this._size--;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._size = 0;\n this._head = null;\n this._tail = null;\n this._map = new Map();\n }\n }]);\n\n return LRUCache;\n}();\n\nvar Recoil_LRUCache = {\n LRUCache: LRUCache\n};\nvar Recoil_LRUCache_1 = Recoil_LRUCache.LRUCache;\nvar Recoil_LRUCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n LRUCache: Recoil_LRUCache_1\n});\nvar LRUCache$1 = Recoil_LRUCache$1.LRUCache;\nvar TreeCache$1 = Recoil_TreeCache$1.TreeCache;\n\nfunction treeCacheLRU(_ref50) {\n var name = _ref50.name,\n maxSize = _ref50.maxSize,\n _ref50$mapNodeValue = _ref50.mapNodeValue,\n mapNodeValue = _ref50$mapNodeValue === void 0 ? function (v) {\n return v;\n } : _ref50$mapNodeValue;\n var lruCache = new LRUCache$1({\n maxSize: maxSize\n });\n var cache = new TreeCache$1({\n name: name,\n mapNodeValue: mapNodeValue,\n onHit: function onHit(node) {\n lruCache.set(node, true);\n },\n onSet: function onSet(node) {\n var lruNode = lruCache.tail();\n lruCache.set(node, true);\n\n if (lruNode && cache.size() > maxSize) {\n cache[\"delete\"](lruNode.key);\n }\n }\n });\n return cache;\n}\n\nvar Recoil_treeCacheLRU = treeCacheLRU;\nvar TIME_WARNING_THRESHOLD_MS = 15;\n\nfunction stringify(x, opt, key) {\n // A optimization to avoid the more expensive JSON.stringify() for simple strings\n // This may lose protection for u2028 and u2029, though.\n if (typeof x === 'string' && !x.includes('\"') && !x.includes('\\\\')) {\n return \"\\\"\".concat(x, \"\\\"\");\n } // Handle primitive types\n\n\n switch (_typeof2(x)) {\n case 'undefined':\n return '';\n // JSON.stringify(undefined) returns undefined, but we always want to return a string\n\n case 'boolean':\n return x ? 'true' : 'false';\n\n case 'number':\n case 'symbol':\n // case 'bigint': // BigInt is not supported in www\n return String(x);\n\n case 'string':\n // Add surrounding quotes and escape internal quotes\n return JSON.stringify(x);\n\n case 'function':\n if ((opt === null || opt === void 0 ? void 0 : opt.allowFunctions) !== true) {\n throw Recoil_err('Attempt to serialize function in a Recoil cache key');\n }\n\n return \"__FUNCTION(\".concat(x.name, \")__\");\n }\n\n if (x === null) {\n return 'null';\n } // Fallback case for unknown types\n\n\n if (_typeof2(x) !== 'object') {\n var _JSON$stringify;\n\n return (_JSON$stringify = JSON.stringify(x)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : '';\n } // Deal with all promises as equivalent for now.\n\n\n if (Recoil_isPromise(x)) {\n return '__PROMISE__';\n } // Arrays handle recursive stringification\n\n\n if (Array.isArray(x)) {\n return \"[\".concat(x.map(function (v, i) {\n return stringify(v, opt, i.toString());\n }), \"]\");\n } // If an object defines a toJSON() method, then use that to override the\n // serialization. This matches the behavior of JSON.stringify().\n // Pass the key for compatibility.\n // Immutable.js collections define this method to allow us to serialize them.\n\n\n if (typeof x.toJSON === 'function') {\n // flowlint-next-line unclear-type: off\n return stringify(x.toJSON(key), opt, key);\n } // For built-in Maps, sort the keys in a stable order instead of the\n // default insertion order. Support non-string keys.\n\n\n if (x instanceof Map) {\n var obj = {};\n\n var _iterator47 = _createForOfIteratorHelper(x),\n _step47;\n\n try {\n for (_iterator47.s(); !(_step47 = _iterator47.n()).done;) {\n var _ref53 = _step47.value;\n\n var _ref52 = _slicedToArray(_ref53, 2);\n\n var k = _ref52[0];\n var v = _ref52[1];\n // Stringify will escape any nested quotes\n obj[typeof k === 'string' ? k : stringify(k, opt)] = v;\n }\n } catch (err) {\n _iterator47.e(err);\n } finally {\n _iterator47.f();\n }\n\n return stringify(obj, opt, key);\n } // For built-in Sets, sort the keys in a stable order instead of the\n // default insertion order.\n\n\n if (x instanceof Set) {\n return stringify(Array.from(x).sort(function (a, b) {\n return stringify(a, opt).localeCompare(stringify(b, opt));\n }), opt, key);\n } // Anything else that is iterable serialize as an Array.\n\n\n if (Symbol !== undefined && x[Symbol.iterator] != null && typeof x[Symbol.iterator] === 'function') {\n // flowlint-next-line unclear-type: off\n return stringify(Array.from(x), opt, key);\n } // For all other Objects, sort the keys in a stable order.\n\n\n return \"{\".concat(Object.keys(x).filter(function (k) {\n return x[k] !== undefined;\n }).sort() // stringify the key to add quotes and escape any nested slashes or quotes.\n .map(function (k) {\n return \"\".concat(stringify(k, opt), \":\").concat(stringify(x[k], opt, k));\n }).join(','), \"}\");\n} // Utility similar to JSON.stringify() except:\n// * Serialize built-in Sets as an Array\n// * Serialize built-in Maps as an Object. Supports non-string keys.\n// * Serialize other iterables as arrays\n// * Sort the keys of Objects and Maps to have a stable order based on string conversion.\n// This overrides their default insertion order.\n// * Still uses toJSON() of any object to override serialization\n// * Support Symbols (though don't guarantee uniqueness)\n// * We could support BigInt, but Flow doesn't seem to like it.\n// See Recoil_stableStringify-test.js for examples\n\n\nfunction stableStringify(x) {\n var opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n allowFunctions: false\n };\n\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined') {\n var startTime = window.performance ? window.performance.now() : 0;\n var str = stringify(x, opt);\n var endTime = window.performance ? window.performance.now() : 0;\n\n if (endTime - startTime > TIME_WARNING_THRESHOLD_MS) {\n /* eslint-disable fb-www/no-console */\n console.groupCollapsed(\"Recoil: Spent \".concat(endTime - startTime, \"ms computing a cache key\"));\n console.warn(x, str);\n console.groupEnd();\n /* eslint-enable fb-www/no-console */\n }\n\n return str;\n }\n }\n\n return stringify(x, opt);\n}\n\nvar Recoil_stableStringify = stableStringify;\nvar TreeCache$2 = Recoil_TreeCache$1.TreeCache;\nvar defaultPolicy = {\n equality: 'reference',\n eviction: 'keep-all',\n maxSize: Infinity\n};\n\nfunction treeCacheFromPolicy() {\n var _ref54 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultPolicy,\n _ref54$equality = _ref54.equality,\n equality = _ref54$equality === void 0 ? defaultPolicy.equality : _ref54$equality,\n _ref54$eviction = _ref54.eviction,\n eviction = _ref54$eviction === void 0 ? defaultPolicy.eviction : _ref54$eviction,\n _ref54$maxSize = _ref54.maxSize,\n maxSize = _ref54$maxSize === void 0 ? defaultPolicy.maxSize : _ref54$maxSize;\n\n var name = arguments.length > 1 ? arguments[1] : undefined;\n var valueMapper = getValueMapper(equality);\n return getTreeCache(eviction, maxSize, valueMapper, name);\n}\n\nfunction getValueMapper(equality) {\n switch (equality) {\n case 'reference':\n return function (val) {\n return val;\n };\n\n case 'value':\n return function (val) {\n return Recoil_stableStringify(val);\n };\n }\n\n throw Recoil_err(\"Unrecognized equality policy \".concat(equality));\n}\n\nfunction getTreeCache(eviction, maxSize, mapNodeValue, name) {\n switch (eviction) {\n case 'keep-all':\n return new TreeCache$2({\n name: name,\n mapNodeValue: mapNodeValue\n });\n\n case 'lru':\n return Recoil_treeCacheLRU({\n name: name,\n maxSize: Recoil_nullthrows(maxSize),\n mapNodeValue: mapNodeValue\n });\n\n case 'most-recent':\n return Recoil_treeCacheLRU({\n name: name,\n maxSize: 1,\n mapNodeValue: mapNodeValue\n });\n }\n\n throw Recoil_err(\"Unrecognized eviction policy \".concat(eviction));\n}\n\nvar Recoil_treeCacheFromPolicy = treeCacheFromPolicy;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nfunction isNode(object) {\n var _ownerDocument, _doc$defaultView;\n\n if (typeof window === 'undefined') {\n return false;\n }\n\n var doc = object != null ? (_ownerDocument = object.ownerDocument) !== null && _ownerDocument !== void 0 ? _ownerDocument : object : document;\n var defaultView = (_doc$defaultView = doc.defaultView) !== null && _doc$defaultView !== void 0 ? _doc$defaultView : window;\n return !!(object != null && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : _typeof2(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nvar Recoil_isNode = isNode;\nvar isReactNative$1 = Recoil_Environment.isReactNative,\n isWindow$1 = Recoil_Environment.isWindow;\n\nfunction shouldNotBeFrozen(value) {\n // Primitives and functions:\n if (value === null || _typeof2(value) !== 'object') {\n return true;\n } // React elements:\n\n\n switch (_typeof2(value.$$typeof)) {\n case 'symbol':\n return true;\n\n case 'number':\n return true;\n } // Immutable structures:\n\n\n if (value['@@__IMMUTABLE_ITERABLE__@@'] != null || value['@@__IMMUTABLE_KEYED__@@'] != null || value['@@__IMMUTABLE_INDEXED__@@'] != null || value['@@__IMMUTABLE_ORDERED__@@'] != null || value['@@__IMMUTABLE_RECORD__@@'] != null) {\n return true;\n } // DOM nodes:\n\n\n if (Recoil_isNode(value)) {\n return true;\n }\n\n if (Recoil_isPromise(value)) {\n return true;\n }\n\n if (value instanceof Error) {\n return true;\n }\n\n if (ArrayBuffer.isView(value)) {\n return true;\n } // Some environments, just as Jest, don't work with the instanceof check\n\n\n if (!isReactNative$1 && isWindow$1(value)) {\n return true;\n }\n\n return false;\n} // Recursively freeze a value to enforce it is read-only.\n// This may also have minimal performance improvements for enumerating\n// objects (based on browser implementations, of course)\n\n\nfunction deepFreezeValue(value) {\n if (_typeof2(value) !== 'object' || shouldNotBeFrozen(value)) {\n return;\n }\n\n Object.freeze(value); // Make all properties read-only\n\n for (var key in value) {\n // $FlowIssue[method-unbinding] added when improving typing for this parameters\n if (Object.prototype.hasOwnProperty.call(value, key)) {\n var prop = value[key]; // Prevent infinite recurssion for circular references.\n\n if (_typeof2(prop) === 'object' && prop != null && !Object.isFrozen(prop)) {\n deepFreezeValue(prop);\n }\n }\n }\n\n Object.seal(value); // This also makes existing properties non-configurable.\n}\n\nvar Recoil_deepFreezeValue = deepFreezeValue;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * This is a stub for some integration into FB internal stuff\n *\n * \n * @format\n * @oncall recoil\n */\n\nfunction startPerfBlock(_id) {\n return function () {\n return null;\n };\n}\n\nvar Recoil_PerformanceTimings = {\n startPerfBlock: startPerfBlock\n};\nvar isLoadable$1 = Recoil_Loadable$1.isLoadable,\n loadableWithError$1 = Recoil_Loadable$1.loadableWithError,\n loadableWithPromise$1 = Recoil_Loadable$1.loadableWithPromise,\n loadableWithValue$2 = Recoil_Loadable$1.loadableWithValue;\nvar WrappedValue$1 = Recoil_Wrapper$1.WrappedValue;\nvar getNodeLoadable$2 = Recoil_FunctionalCore.getNodeLoadable,\n peekNodeLoadable$1 = Recoil_FunctionalCore.peekNodeLoadable,\n setNodeValue$3 = Recoil_FunctionalCore.setNodeValue;\nvar saveDepsToStore$1 = Recoil_Graph.saveDepsToStore;\nvar DEFAULT_VALUE$6 = Recoil_Node.DEFAULT_VALUE,\n getConfigDeletionHandler$1 = Recoil_Node.getConfigDeletionHandler,\n getNode$6 = Recoil_Node.getNode,\n registerNode$1 = Recoil_Node.registerNode;\nvar isRecoilValue$3 = Recoil_RecoilValue$1.isRecoilValue;\nvar markRecoilValueModified$1 = Recoil_RecoilValueInterface.markRecoilValueModified;\nvar retainedByOptionWithDefault$1 = Recoil_Retention.retainedByOptionWithDefault;\nvar recoilCallback$1 = Recoil_useRecoilCallback.recoilCallback;\nvar startPerfBlock$1 = Recoil_PerformanceTimings.startPerfBlock;\n\nvar Canceled = function Canceled() {\n _classCallCheck(this, Canceled);\n};\n\nvar CANCELED = new Canceled();\n/**\n * An ExecutionID is an arbitrary ID that lets us distinguish executions from\n * each other. This is necessary as we need a way of solving this problem:\n * \"given 3 async executions, only update state for the 'latest' execution when\n * it finishes running regardless of when the other 2 finish\". ExecutionIDs\n * provide a convenient way of identifying executions so that we can track and\n * manage them over time.\n */\n\nvar dependencyStack = []; // for detecting circular dependencies.\n\nvar waitingStores = new Map();\n\nvar getNewExecutionID = function () {\n var executionID = 0;\n return function () {\n return executionID++;\n };\n}();\n/* eslint-disable no-redeclare */\n\n\nfunction selector(options) {\n var recoilValue = null;\n var key = options.key,\n get = options.get,\n cachePolicy = options.cachePolicy_UNSTABLE;\n var set = options.set != null ? options.set : undefined; // flow\n\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof key !== 'string') {\n throw Recoil_err('A key option with a unique string value must be provided when creating a selector.');\n }\n\n if (typeof get !== 'function') {\n throw Recoil_err('Selectors must specify a get callback option to get the selector value.');\n }\n } // This is every discovered dependency across all executions\n\n\n var discoveredDependencyNodeKeys = new Set();\n var cache = Recoil_treeCacheFromPolicy(cachePolicy !== null && cachePolicy !== void 0 ? cachePolicy : {\n equality: 'reference',\n eviction: 'keep-all'\n }, key);\n var retainedBy = retainedByOptionWithDefault$1(options.retainedBy_UNSTABLE);\n var executionInfoMap = new Map();\n var liveStoresCount = 0;\n\n function selectorIsLive() {\n return !Recoil_gkx('recoil_memory_managament_2020') || liveStoresCount > 0;\n }\n\n function selectorInit(store) {\n store.getState().knownSelectors.add(key);\n liveStoresCount++;\n return function () {\n liveStoresCount--;\n };\n }\n\n function selectorShouldDeleteConfigOnRelease() {\n return getConfigDeletionHandler$1(key) !== undefined && !selectorIsLive();\n }\n\n function resolveAsync(store, state, executionID, loadable, depValues) {\n setCache(state, loadable, depValues);\n notifyStoresOfResolvedAsync(store, executionID);\n }\n\n function notifyStoresOfResolvedAsync(store, executionID) {\n if (isLatestExecution(store, executionID)) {\n clearExecutionInfo(store);\n }\n\n notifyWaitingStores(executionID, true);\n }\n /**\n * Notify stores to pull the selector again if a new async dep was discovered.\n * 1) Async selector adds a new dep but doesn't resolve yet.\n * Note that deps for an async selector are based on the state when the\n * evaluation started, in order to provide a consistent picture of state.\n * 2) But, new value of dep based on the current state might cause the selector\n * to resolve or resolve differently.\n * 3) Therefore, this notification will pull the selector based on the current\n * state for the components\n */\n\n\n function notifyStoresOfNewAsyncDep(store, executionID) {\n if (isLatestExecution(store, executionID)) {\n var executionInfo = Recoil_nullthrows(getExecutionInfo(store));\n executionInfo.stateVersions.clear();\n notifyWaitingStores(executionID, false);\n }\n }\n\n function notifyWaitingStores(executionID, clearWaitlist) {\n var stores = waitingStores.get(executionID);\n\n if (stores != null) {\n var _iterator48 = _createForOfIteratorHelper(stores),\n _step48;\n\n try {\n for (_iterator48.s(); !(_step48 = _iterator48.n()).done;) {\n var waitingStore = _step48.value;\n markRecoilValueModified$1(waitingStore, Recoil_nullthrows(recoilValue));\n }\n } catch (err) {\n _iterator48.e(err);\n } finally {\n _iterator48.f();\n }\n\n if (clearWaitlist) {\n waitingStores[\"delete\"](executionID);\n }\n }\n }\n\n function markStoreWaitingForResolvedAsync(store, executionID) {\n var stores = waitingStores.get(executionID);\n\n if (stores == null) {\n waitingStores.set(executionID, stores = new Set());\n }\n\n stores.add(store);\n }\n /**\n * This function attaches a then() and a catch() to a promise that was\n * returned from a selector's get() (either explicitly or implicitly by\n * running a function that uses the \"async\" keyword). If a selector's get()\n * returns a promise, we have two possibilities:\n *\n * 1. The promise will resolve, in which case it will have completely finished\n * executing without any remaining pending dependencies. No more retries\n * are needed and we can proceed with updating the cache and notifying\n * subscribers (if it is the latest execution, otherwise only the cache\n * will be updated and subscriptions will not be fired). This is the case\n * handled by the attached then() handler.\n *\n * 2. The promise will throw because it either has an error or it came across\n * an async dependency that has not yet resolved, in which case we will\n * call wrapDepdencyPromise(), whose responsibility is to handle dependency\n * promises. This case is handled by the attached catch() handler.\n *\n * Both branches will eventually resolve to the final result of the selector\n * (or an error if a real error occurred).\n *\n * The execution will run to completion even if it is stale, and its value\n * will be cached. But stale executions will not update global state or update\n * executionInfo as that is the responsibility of the 'latest' execution.\n *\n * Note this function should not be passed a promise that was thrown--AKA a\n * dependency promise. Dependency promises should be passed to\n * wrapPendingDependencyPromise()).\n */\n\n\n function wrapResultPromise(store, promise, state, depValues, executionID, loadingDepsState) {\n return promise.then(function (value) {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store);\n throw CANCELED;\n }\n\n var loadable = loadableWithValue$2(value);\n resolveAsync(store, state, executionID, loadable, depValues);\n return value;\n })[\"catch\"](function (errorOrPromise) {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store);\n throw CANCELED;\n }\n\n if (Recoil_isPromise(errorOrPromise)) {\n return wrapPendingDependencyPromise(store, errorOrPromise, state, depValues, executionID, loadingDepsState);\n }\n\n var loadable = loadableWithError$1(errorOrPromise);\n resolveAsync(store, state, executionID, loadable, depValues);\n throw errorOrPromise;\n });\n }\n /**\n * This function attaches a then() and a catch() to a promise that was\n * thrown from a selector's get(). If a selector's get() throws a promise,\n * we have two possibilities:\n *\n * 1. The promise will resolve, meaning one of our selector's dependencies is\n * now available and we should \"retry\" our get() by running it again. This\n * is the case handled by the attached then() handler.\n *\n * 2. The promise will throw because something went wrong with the dependency\n * promise (in other words a real error occurred). This case is handled by\n * the attached catch() handler. If the dependency promise throws, it is\n * _always_ a real error and not another dependency promise (any dependency\n * promises would have been handled upstream).\n *\n * The then() branch will eventually resolve to the final result of the\n * selector (or an error if a real error occurs), and the catch() will always\n * resolve to an error because the dependency promise is a promise that was\n * wrapped upstream, meaning it will only resolve to its real value or to a\n * real error.\n *\n * The execution will run to completion even if it is stale, and its value\n * will be cached. But stale executions will not update global state or update\n * executionInfo as that is the responsibility of the 'latest' execution.\n *\n * Note this function should not be passed a promise that was returned from\n * get(). The intention is that this function is only passed promises that\n * were thrown due to a pending dependency. Promises returned by get() should\n * be passed to wrapResultPromise() instead.\n */\n\n\n function wrapPendingDependencyPromise(store, promise, state, existingDeps, executionID, loadingDepsState) {\n return promise.then(function (resolvedDep) {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store);\n throw CANCELED;\n } // Check if we are handling a pending Recoil dependency or if the user\n // threw their own Promise to \"suspend\" a selector evaluation. We need\n // to check that the loadingDepPromise actually matches the promise that\n // we caught in case the selector happened to catch the promise we threw\n // for a pending Recoil dependency from `getRecoilValue()` and threw\n // their own promise instead.\n\n\n if (loadingDepsState.loadingDepKey != null && loadingDepsState.loadingDepPromise === promise) {\n /**\n * Note for async atoms, this means we are changing the atom's value\n * in the store for the given version. This should be alright because\n * the version of state is now stale and a new version will have\n * already been triggered by the atom being resolved (see this logic\n * in Recoil_atom.js)\n */\n state.atomValues.set(loadingDepsState.loadingDepKey, loadableWithValue$2(resolvedDep));\n } else {\n /**\n * If resolvedDepKey is not defined, the promise was a user-thrown\n * promise. User-thrown promises are an advanced feature and they\n * should be avoided in almost all cases. Using `loadable.map()` inside\n * of selectors for loading loadables and then throwing that mapped\n * loadable's promise is an example of a user-thrown promise.\n *\n * When we hit a user-thrown promise, we have to bail out of an optimization\n * where we bypass calculating selector cache keys for selectors that\n * have been previously seen for a given state (these selectors are saved in\n * state.atomValues) to avoid stale state as we have no way of knowing\n * what state changes happened (if any) in result to the promise resolving.\n *\n * Ideally we would only bail out selectors that are in the chain of\n * dependencies for this selector, but there's currently no way to get\n * a full list of a selector's downstream nodes because the state that\n * is executing may be a discarded tree (so store.getGraph(state.version)\n * will be empty), and the full dep tree may not be in the selector\n * caches in the case where the selector's cache was cleared. To solve\n * for this we would have to keep track of all running selector\n * executions and their downstream deps. Because this only covers edge\n * cases, that complexity might not be justifyable.\n */\n store.getState().knownSelectors.forEach(function (nodeKey) {\n state.atomValues[\"delete\"](nodeKey);\n });\n }\n /**\n * Optimization: Now that the dependency has resolved, let's try hitting\n * the cache in case the dep resolved to a value we have previously seen.\n *\n * TODO:\n * Note this optimization is not perfect because it only prevents re-executions\n * _after_ the point where an async dependency is found. Any code leading\n * up to the async dependency may have run unnecessarily. The ideal case\n * would be to wait for the async dependency to resolve first, check the\n * cache, and prevent _any_ execution of the selector if the resulting\n * value of the dependency leads to a path that is found in the cache.\n * The ideal case is more difficult to implement as it would require that\n * we capture and wait for the the async dependency right after checking\n * the cache. The current approach takes advantage of the fact that running\n * the selector already has a code path that lets us exit early when\n * an async dep resolves.\n */\n\n\n var cachedLoadable = getLoadableFromCacheAndUpdateDeps(store, state);\n\n if (cachedLoadable && cachedLoadable.state !== 'loading') {\n /**\n * This has to notify stores of a resolved async, even if there is no\n * current pending execution for the following case:\n * 1) A component renders with this pending loadable.\n * 2) The upstream dependency resolves.\n * 3) While processing some other selector it reads this one, such as\n * while traversing its dependencies. At this point it gets the\n * new resolved value synchronously and clears the current\n * execution ID. The component wasn't getting the value itself,\n * though, so it still has the pending loadable.\n * 4) When this code executes the current execution id was cleared\n * and it wouldn't notify the component of the new value.\n *\n * I think this is only an issue with \"early\" rendering since the\n * components got their value using the in-progress execution.\n * We don't have a unit test for this case yet. I'm not sure it is\n * necessary with recoil_transition_support mode.\n */\n if (isLatestExecution(store, executionID) || getExecutionInfo(store) == null) {\n notifyStoresOfResolvedAsync(store, executionID);\n }\n\n if (cachedLoadable.state === 'hasValue') {\n return cachedLoadable.contents;\n } else {\n throw cachedLoadable.contents;\n }\n }\n /**\n * If this execution is stale, let's check to see if there is some in\n * progress execution with a matching state. If we find a match, then\n * we can take the value from that in-progress execution. Note this may\n * sound like an edge case, but may be very common in cases where a\n * loading dependency resolves from loading to having a value (thus\n * possibly triggering a re-render), and React re-renders before the\n * chained .then() functions run, thus starting a new execution as the\n * dep has changed value. Without this check we will run the selector\n * twice (once in the new execution and once again in this .then(), so\n * this check is necessary to keep unnecessary re-executions to a\n * minimum).\n *\n * Also note this code does not check across all executions that may be\n * running. It only optimizes for the _latest_ execution per store as\n * we currently do not maintain a list of all currently running executions.\n * This means in some cases we may run selectors more than strictly\n * necessary when there are multiple executions running for the same\n * selector. This may be a valid tradeoff as checking for dep changes\n * across all in-progress executions may take longer than just\n * re-running the selector. This will be app-dependent, and maybe in the\n * future we can make the behavior configurable. An ideal fix may be\n * to extend the tree cache to support caching loading states.\n */\n\n\n if (!isLatestExecution(store, executionID)) {\n var executionInfo = getInProgressExecutionInfo(store, state);\n\n if (executionInfo != null) {\n /**\n * Returning promise here without wrapping as the wrapper logic was\n * already done upstream when this promise was generated.\n */\n return executionInfo.loadingLoadable.contents;\n }\n } // Retry the selector evaluation now that the dependency has resolved\n\n\n var _evaluateSelectorGett = evaluateSelectorGetter(store, state, executionID),\n _evaluateSelectorGett2 = _slicedToArray(_evaluateSelectorGett, 2),\n loadable = _evaluateSelectorGett2[0],\n depValues = _evaluateSelectorGett2[1];\n\n if (loadable.state !== 'loading') {\n resolveAsync(store, state, executionID, loadable, depValues);\n }\n\n if (loadable.state === 'hasError') {\n throw loadable.contents;\n }\n\n return loadable.contents;\n })[\"catch\"](function (error) {\n // The selector was released since the request began; ignore the response.\n if (error instanceof Canceled) {\n throw CANCELED;\n }\n\n if (!selectorIsLive()) {\n clearExecutionInfo(store);\n throw CANCELED;\n }\n\n var loadable = loadableWithError$1(error);\n resolveAsync(store, state, executionID, loadable, existingDeps);\n throw error;\n });\n }\n\n function updateDeps(store, state, deps, executionID) {\n var _store$getState, _store$getState$curre, _store$getState2, _store$getState2$next;\n\n if (isLatestExecution(store, executionID) || state.version === ((_store$getState = store.getState()) === null || _store$getState === void 0 ? void 0 : (_store$getState$curre = _store$getState.currentTree) === null || _store$getState$curre === void 0 ? void 0 : _store$getState$curre.version) || state.version === ((_store$getState2 = store.getState()) === null || _store$getState2 === void 0 ? void 0 : (_store$getState2$next = _store$getState2.nextTree) === null || _store$getState2$next === void 0 ? void 0 : _store$getState2$next.version)) {\n var _store$getState$nextT, _store$getState3, _store$getState3$next;\n\n saveDepsToStore$1(key, deps, store, (_store$getState$nextT = (_store$getState3 = store.getState()) === null || _store$getState3 === void 0 ? void 0 : (_store$getState3$next = _store$getState3.nextTree) === null || _store$getState3$next === void 0 ? void 0 : _store$getState3$next.version) !== null && _store$getState$nextT !== void 0 ? _store$getState$nextT : store.getState().currentTree.version);\n }\n\n var _iterator49 = _createForOfIteratorHelper(deps),\n _step49;\n\n try {\n for (_iterator49.s(); !(_step49 = _iterator49.n()).done;) {\n var nodeKey = _step49.value;\n discoveredDependencyNodeKeys.add(nodeKey);\n }\n } catch (err) {\n _iterator49.e(err);\n } finally {\n _iterator49.f();\n }\n }\n\n function evaluateSelectorGetter(store, state, executionID) {\n var endPerfBlock = startPerfBlock$1(key); // TODO T63965866: use execution ID here\n\n var duringSynchronousExecution = true;\n var duringAsynchronousExecution = true;\n\n var finishEvaluation = function finishEvaluation() {\n endPerfBlock();\n duringAsynchronousExecution = false;\n };\n\n var result;\n var resultIsError = false;\n var loadable;\n var loadingDepsState = {\n loadingDepKey: null,\n loadingDepPromise: null\n };\n /**\n * Starting a fresh set of deps that we'll be using to update state. We're\n * starting a new set versus adding it in existing state deps because\n * the version of state that we update deps for may be a more recent version\n * than the version the selector was called with. This is because the latest\n * execution will update the deps of the current/latest version of state\n * (This is safe to do because the fact that the selector is the latest\n * execution means the deps we discover below are our best guess at the\n * deps for the current/latest state in the store)\n */\n\n var depValues = new Map();\n\n function getRecoilValue(_ref55) {\n var depKey = _ref55.key;\n var depLoadable = getNodeLoadable$2(store, state, depKey);\n depValues.set(depKey, depLoadable); // We need to update asynchronous dependencies as we go so the selector\n // knows if it has to restart evaluation if one of them is updated before\n // the asynchronous selector completely resolves.\n\n if (!duringSynchronousExecution) {\n updateDeps(store, state, new Set(depValues.keys()), executionID);\n notifyStoresOfNewAsyncDep(store, executionID);\n }\n\n switch (depLoadable.state) {\n case 'hasValue':\n return depLoadable.contents;\n\n case 'hasError':\n throw depLoadable.contents;\n\n case 'loading':\n loadingDepsState.loadingDepKey = depKey;\n loadingDepsState.loadingDepPromise = depLoadable.contents;\n throw depLoadable.contents;\n }\n\n throw Recoil_err('Invalid Loadable state');\n }\n\n var getCallback = function getCallback(fn) {\n return function () {\n if (duringAsynchronousExecution) {\n throw Recoil_err('Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.');\n }\n\n !(recoilValue != null) ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Recoil Value can never be null') : Recoil_invariant(false) : void 0;\n\n for (var _len8 = arguments.length, args = new Array(_len8), _key11 = 0; _key11 < _len8; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return recoilCallback$1(store, fn, args, {\n node: recoilValue\n } // flowlint-line unclear-type:off\n );\n };\n };\n\n try {\n result = get({\n get: getRecoilValue,\n getCallback: getCallback\n });\n result = isRecoilValue$3(result) ? getRecoilValue(result) : result;\n\n if (isLoadable$1(result)) {\n if (result.state === 'hasError') {\n resultIsError = true;\n }\n\n result = result.contents;\n }\n\n if (Recoil_isPromise(result)) {\n result = wrapResultPromise(store, result, state, depValues, executionID, loadingDepsState)[\"finally\"](finishEvaluation);\n } else {\n finishEvaluation();\n }\n\n result = result instanceof WrappedValue$1 ? result.value : result;\n } catch (errorOrDepPromise) {\n result = errorOrDepPromise;\n\n if (Recoil_isPromise(result)) {\n result = wrapPendingDependencyPromise(store, result, state, depValues, executionID, loadingDepsState)[\"finally\"](finishEvaluation);\n } else {\n resultIsError = true;\n finishEvaluation();\n }\n }\n\n if (resultIsError) {\n loadable = loadableWithError$1(result);\n } else if (Recoil_isPromise(result)) {\n loadable = loadableWithPromise$1(result);\n } else {\n loadable = loadableWithValue$2(result);\n }\n\n duringSynchronousExecution = false;\n updateExecutionInfoDepValues(store, executionID, depValues);\n updateDeps(store, state, new Set(depValues.keys()), executionID);\n return [loadable, depValues];\n }\n\n function getLoadableFromCacheAndUpdateDeps(store, state) {\n // First, look up in the state cache\n // If it's here, then the deps in the store should already be valid.\n var cachedLoadable = state.atomValues.get(key);\n\n if (cachedLoadable != null) {\n return cachedLoadable;\n } // Second, look up in the selector cache and update the deps in the store\n\n\n var depsAfterCacheLookup = new Set();\n\n try {\n cachedLoadable = cache.get(function (nodeKey) {\n !(typeof nodeKey === 'string') ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Cache nodeKey is type string') : Recoil_invariant(false) : void 0;\n return getNodeLoadable$2(store, state, nodeKey).contents;\n }, {\n onNodeVisit: function onNodeVisit(node) {\n if (node.type === 'branch' && node.nodeKey !== key) {\n depsAfterCacheLookup.add(node.nodeKey);\n }\n }\n });\n } catch (error) {\n throw Recoil_err(\"Problem with cache lookup for selector \\\"\".concat(key, \"\\\": \").concat(error.message));\n }\n\n if (cachedLoadable) {\n var _getExecutionInfo; // Cache the results in the state to allow for cheaper lookup than\n // iterating the tree cache of dependencies.\n\n\n state.atomValues.set(key, cachedLoadable);\n /**\n * Ensure store contains correct dependencies if we hit the cache so that\n * the store deps and cache are in sync for a given state. This is important\n * because store deps are normally updated when new executions are created,\n * but cache hits don't trigger new executions but they still _may_ signify\n * a change in deps in the store if the store deps for this state are empty\n * or stale.\n */\n\n updateDeps(store, state, depsAfterCacheLookup, (_getExecutionInfo = getExecutionInfo(store)) === null || _getExecutionInfo === void 0 ? void 0 : _getExecutionInfo.executionID);\n }\n\n return cachedLoadable;\n }\n /**\n * Given a tree state, this function returns a Loadable of the current state.\n *\n * The selector's get() function will only be re-evaluated if _both_ of the\n * following statements are true:\n *\n * 1. The current dep values from the given state produced a cache key that\n * was not found in the cache.\n * 2. There is no currently running async execution OR there is an\n * async execution that is running, but after comparing the dep values in\n * the given state with the dep values that the execution has discovered so\n * far we find that at least one dep value has changed, in which case we\n * start a new execution (the previously running execution will continue to\n * run to completion, but only the new execution will be deemed the\n * 'latest' execution, meaning it will be the only execution that will\n * update global state when it is finished. Any non-latest executions will\n * run to completion and update the selector cache but not global state).\n */\n\n\n function getSelectorLoadableAndUpdateDeps(store, state) {\n // First, see if our current state is cached\n var cachedVal = getLoadableFromCacheAndUpdateDeps(store, state);\n\n if (cachedVal != null) {\n clearExecutionInfo(store);\n return cachedVal;\n } // Second, check if there is already an ongoing execution based on the current state\n\n\n var inProgressExecutionInfo = getInProgressExecutionInfo(store, state);\n\n if (inProgressExecutionInfo != null) {\n var _inProgressExecutionI;\n\n if (((_inProgressExecutionI = inProgressExecutionInfo.loadingLoadable) === null || _inProgressExecutionI === void 0 ? void 0 : _inProgressExecutionI.state) === 'loading') {\n markStoreWaitingForResolvedAsync(store, inProgressExecutionInfo.executionID);\n } // FIXME: check after the fact to see if we made the right choice by waiting\n\n\n return inProgressExecutionInfo.loadingLoadable;\n } // Third, start a new evaluation of the selector\n\n\n var newExecutionID = getNewExecutionID();\n\n var _evaluateSelectorGett3 = evaluateSelectorGetter(store, state, newExecutionID),\n _evaluateSelectorGett4 = _slicedToArray(_evaluateSelectorGett3, 2),\n loadable = _evaluateSelectorGett4[0],\n newDepValues = _evaluateSelectorGett4[1];\n /**\n * Conditionally updates the cache with a given loadable.\n *\n * We only cache loadables that are not loading because our cache keys are\n * based on dep values, which are in an unfinished state for loadables that\n * have a 'loading' state (new deps may be discovered while the selector\n * runs its async code). We never want to cache partial dependencies b/c it\n * could lead to errors, such as prematurely returning the result based on a\n * partial list of deps-- we need the full list of deps to ensure that we\n * are returning the correct result from cache.\n */\n\n\n if (loadable.state === 'loading') {\n setExecutionInfo(store, newExecutionID, loadable, newDepValues, state);\n markStoreWaitingForResolvedAsync(store, newExecutionID);\n } else {\n clearExecutionInfo(store);\n setCache(state, loadable, newDepValues);\n }\n\n return loadable;\n }\n /**\n * Searches execution info across all stores to see if there is an in-progress\n * execution whose dependency values match the values of the requesting store.\n */\n\n\n function getInProgressExecutionInfo(store, state) {\n // Sort the pending executions so that our current store is checked first.\n var pendingExecutions = Recoil_concatIterables([executionInfoMap.has(store) ? [Recoil_nullthrows(executionInfoMap.get(store))] : [], Recoil_mapIterable(Recoil_filterIterable(executionInfoMap, function (_ref56) {\n var _ref57 = _slicedToArray(_ref56, 1),\n s = _ref57[0];\n\n return s !== store;\n }), function (_ref58) {\n var _ref59 = _slicedToArray(_ref58, 2),\n execInfo = _ref59[1];\n\n return execInfo;\n })]);\n\n function anyDepChanged(execDepValues) {\n var _iterator50 = _createForOfIteratorHelper(execDepValues),\n _step50;\n\n try {\n for (_iterator50.s(); !(_step50 = _iterator50.n()).done;) {\n var _ref62 = _step50.value;\n\n var _ref61 = _slicedToArray(_ref62, 2);\n\n var depKey = _ref61[0];\n var execLoadable = _ref61[1];\n\n if (!getNodeLoadable$2(store, state, depKey).is(execLoadable)) {\n return true;\n }\n }\n } catch (err) {\n _iterator50.e(err);\n } finally {\n _iterator50.f();\n }\n\n return false;\n }\n\n var _iterator51 = _createForOfIteratorHelper(pendingExecutions),\n _step51;\n\n try {\n for (_iterator51.s(); !(_step51 = _iterator51.n()).done;) {\n var execInfo = _step51.value;\n\n if ( // If this execution was already checked to be valid with this version\n // of state, then let's use it!\n execInfo.stateVersions.get(state.version) || // If the deps for the execution match our current state, then it's valid\n !anyDepChanged(execInfo.depValuesDiscoveredSoFarDuringAsyncWork)) {\n execInfo.stateVersions.set(state.version, true);\n return execInfo;\n } else {\n execInfo.stateVersions.set(state.version, false);\n }\n }\n } catch (err) {\n _iterator51.e(err);\n } finally {\n _iterator51.f();\n }\n\n return undefined;\n }\n\n function getExecutionInfo(store) {\n return executionInfoMap.get(store);\n }\n /**\n * This function will update the selector's execution info when the selector\n * has either finished running an execution or has started a new execution. If\n * the given loadable is in a 'loading' state, the intention is that a new\n * execution has started. Otherwise, the intention is that an execution has\n * just finished.\n */\n\n\n function setExecutionInfo(store, newExecutionID, loadable, depValues, state) {\n executionInfoMap.set(store, {\n depValuesDiscoveredSoFarDuringAsyncWork: depValues,\n executionID: newExecutionID,\n loadingLoadable: loadable,\n stateVersions: new Map([[state.version, true]])\n });\n }\n\n function updateExecutionInfoDepValues(store, executionID, depValues) {\n // We only need to bother updating the deps for the latest execution because\n // that's all getInProgressExecutionInfo() will be looking for.\n if (isLatestExecution(store, executionID)) {\n var executionInfo = getExecutionInfo(store);\n\n if (executionInfo != null) {\n executionInfo.depValuesDiscoveredSoFarDuringAsyncWork = depValues;\n }\n }\n }\n\n function clearExecutionInfo(store) {\n executionInfoMap[\"delete\"](store);\n }\n\n function isLatestExecution(store, executionID) {\n var _getExecutionInfo2;\n\n return executionID === ((_getExecutionInfo2 = getExecutionInfo(store)) === null || _getExecutionInfo2 === void 0 ? void 0 : _getExecutionInfo2.executionID);\n }\n /**\n * FIXME: dep keys should take into account the state of the loadable to\n * prevent the edge case where a loadable with an error and a loadable with\n * an error as a value are treated as the same thing incorrectly. For example\n * these two should be treated differently:\n *\n * selector({key: '', get: () => new Error('hi')});\n * selector({key: '', get () => {throw new Error('hi')}});\n *\n * With current implementation they are treated the same\n */\n\n\n function depValuesToDepRoute(depValues) {\n return Array.from(depValues.entries()).map(function (_ref63) {\n var _ref64 = _slicedToArray(_ref63, 2),\n depKey = _ref64[0],\n valLoadable = _ref64[1];\n\n return [depKey, valLoadable.contents];\n });\n }\n\n function setCache(state, loadable, depValues) {\n if (process.env.NODE_ENV !== \"production\") {\n if (loadable.state !== 'loading' && Boolean(options.dangerouslyAllowMutability) === false) {\n Recoil_deepFreezeValue(loadable.contents);\n }\n }\n\n state.atomValues.set(key, loadable);\n\n try {\n cache.set(depValuesToDepRoute(depValues), loadable);\n } catch (error) {\n throw Recoil_err(\"Problem with setting cache for selector \\\"\".concat(key, \"\\\": \").concat(error.message));\n }\n }\n\n function detectCircularDependencies(fn) {\n if (dependencyStack.includes(key)) {\n var message = \"Recoil selector has circular dependencies: \".concat(dependencyStack.slice(dependencyStack.indexOf(key)).join(\" \\u2192 \"));\n return loadableWithError$1(Recoil_err(message));\n }\n\n dependencyStack.push(key);\n\n try {\n return fn();\n } finally {\n dependencyStack.pop();\n }\n }\n\n function selectorPeek(store, state) {\n var cachedLoadable = state.atomValues.get(key);\n\n if (cachedLoadable != null) {\n return cachedLoadable;\n }\n\n return cache.get(function (nodeKey) {\n var _peekNodeLoadable;\n\n !(typeof nodeKey === 'string') ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Cache nodeKey is type string') : Recoil_invariant(false) : void 0;\n return (_peekNodeLoadable = peekNodeLoadable$1(store, state, nodeKey)) === null || _peekNodeLoadable === void 0 ? void 0 : _peekNodeLoadable.contents;\n });\n }\n\n function selectorGet(store, state) {\n return detectCircularDependencies(function () {\n return getSelectorLoadableAndUpdateDeps(store, state);\n });\n }\n\n function invalidateSelector(state) {\n state.atomValues[\"delete\"](key);\n }\n\n function clearSelectorCache(store, treeState) {\n !(recoilValue != null) ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Recoil Value can never be null') : Recoil_invariant(false) : void 0;\n\n var _iterator52 = _createForOfIteratorHelper(discoveredDependencyNodeKeys),\n _step52;\n\n try {\n for (_iterator52.s(); !(_step52 = _iterator52.n()).done;) {\n var nodeKey = _step52.value;\n\n var _node$clearCache;\n\n var node = getNode$6(nodeKey);\n (_node$clearCache = node.clearCache) === null || _node$clearCache === void 0 ? void 0 : _node$clearCache.call(node, store, treeState);\n }\n } catch (err) {\n _iterator52.e(err);\n } finally {\n _iterator52.f();\n }\n\n discoveredDependencyNodeKeys.clear();\n invalidateSelector(treeState);\n cache.clear();\n markRecoilValueModified$1(store, recoilValue);\n }\n\n if (set != null) {\n /**\n * ES5 strict mode prohibits defining non-top-level function declarations,\n * so don't use function declaration syntax here\n */\n var selectorSet = function selectorSet(store, state, newValue) {\n var syncSelectorSetFinished = false;\n var writes = new Map();\n\n function getRecoilValue(_ref65) {\n var depKey = _ref65.key;\n\n if (syncSelectorSetFinished) {\n throw Recoil_err('Recoil: Async selector sets are not currently supported.');\n }\n\n var loadable = getNodeLoadable$2(store, state, depKey);\n\n if (loadable.state === 'hasValue') {\n return loadable.contents;\n } else if (loadable.state === 'loading') {\n var msg = \"Getting value of asynchronous atom or selector \\\"\".concat(depKey, \"\\\" in a pending state while setting selector \\\"\").concat(key, \"\\\" is not yet supported.\");\n Recoil_recoverableViolation(msg);\n throw Recoil_err(msg);\n } else {\n throw loadable.contents;\n }\n }\n\n function setRecoilState(recoilState, valueOrUpdater) {\n if (syncSelectorSetFinished) {\n var msg = 'Recoil: Async selector sets are not currently supported.';\n Recoil_recoverableViolation(msg);\n throw Recoil_err(msg);\n }\n\n var setValue = typeof valueOrUpdater === 'function' ? // cast to any because we can't restrict type S from being a function itself without losing support for opaque types\n // flowlint-next-line unclear-type:off\n valueOrUpdater(getRecoilValue(recoilState)) : valueOrUpdater;\n var upstreamWrites = setNodeValue$3(store, state, recoilState.key, setValue);\n upstreamWrites.forEach(function (v, k) {\n return writes.set(k, v);\n });\n }\n\n function resetRecoilState(recoilState) {\n setRecoilState(recoilState, DEFAULT_VALUE$6);\n }\n\n var ret = set({\n set: setRecoilState,\n get: getRecoilValue,\n reset: resetRecoilState\n }, newValue); // set should be a void method, but if the user makes it `async`, then it\n // will return a Promise, which we don't currently support.\n\n if (ret !== undefined) {\n throw Recoil_isPromise(ret) ? Recoil_err('Recoil: Async selector sets are not currently supported.') : Recoil_err('Recoil: selector set should be a void function.');\n }\n\n syncSelectorSetFinished = true;\n return writes;\n };\n\n return recoilValue = registerNode$1({\n key: key,\n nodeType: 'selector',\n peek: selectorPeek,\n get: selectorGet,\n set: selectorSet,\n init: selectorInit,\n invalidate: invalidateSelector,\n clearCache: clearSelectorCache,\n shouldDeleteConfigOnRelease: selectorShouldDeleteConfigOnRelease,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n shouldRestoreFromSnapshots: false,\n retainedBy: retainedBy\n });\n } else {\n return recoilValue = registerNode$1({\n key: key,\n nodeType: 'selector',\n peek: selectorPeek,\n get: selectorGet,\n init: selectorInit,\n invalidate: invalidateSelector,\n clearCache: clearSelectorCache,\n shouldDeleteConfigOnRelease: selectorShouldDeleteConfigOnRelease,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n shouldRestoreFromSnapshots: false,\n retainedBy: retainedBy\n });\n }\n}\n/* eslint-enable no-redeclare */\n// $FlowIssue[incompatible-use]\n// $FlowFixMe[missing-local-annot]\n\n\nselector.value = function (value) {\n return new WrappedValue$1(value);\n};\n\nvar Recoil_selector = selector; // @fb-only: import type {ScopeRules} from 'Recoil_ScopedAtom';\n// @fb-only: const {scopedAtom} = require('Recoil_ScopedAtom');\n\nvar isLoadable$2 = Recoil_Loadable$1.isLoadable,\n loadableWithError$2 = Recoil_Loadable$1.loadableWithError,\n loadableWithPromise$2 = Recoil_Loadable$1.loadableWithPromise,\n loadableWithValue$3 = Recoil_Loadable$1.loadableWithValue;\nvar WrappedValue$2 = Recoil_Wrapper$1.WrappedValue;\nvar peekNodeInfo$3 = Recoil_FunctionalCore.peekNodeInfo;\nvar DEFAULT_VALUE$7 = Recoil_Node.DEFAULT_VALUE,\n DefaultValue$2 = Recoil_Node.DefaultValue,\n getConfigDeletionHandler$2 = Recoil_Node.getConfigDeletionHandler,\n registerNode$2 = Recoil_Node.registerNode,\n setConfigDeletionHandler$1 = Recoil_Node.setConfigDeletionHandler;\nvar isRecoilValue$4 = Recoil_RecoilValue$1.isRecoilValue;\nvar getRecoilValueAsLoadable$4 = Recoil_RecoilValueInterface.getRecoilValueAsLoadable,\n markRecoilValueModified$2 = Recoil_RecoilValueInterface.markRecoilValueModified,\n setRecoilValue$4 = Recoil_RecoilValueInterface.setRecoilValue,\n setRecoilValueLoadable$2 = Recoil_RecoilValueInterface.setRecoilValueLoadable;\nvar retainedByOptionWithDefault$2 = Recoil_Retention.retainedByOptionWithDefault;\n\nvar unwrap = function unwrap(x) {\n return x instanceof WrappedValue$2 ? x.value : x;\n};\n\nfunction baseAtom(options) {\n var key = options.key,\n persistence = options.persistence_UNSTABLE;\n var retainedBy = retainedByOptionWithDefault$2(options.retainedBy_UNSTABLE);\n var liveStoresCount = 0;\n\n function unwrapPromise(promise) {\n return loadableWithPromise$2(promise.then(function (value) {\n defaultLoadable = loadableWithValue$3(value);\n return value;\n })[\"catch\"](function (error) {\n defaultLoadable = loadableWithError$2(error);\n throw error;\n }));\n }\n\n var defaultLoadable = Recoil_isPromise(options[\"default\"]) ? unwrapPromise(options[\"default\"]) : isLoadable$2(options[\"default\"]) ? options[\"default\"].state === 'loading' ? unwrapPromise(options[\"default\"].contents) : options[\"default\"] : loadableWithValue$3(unwrap(options[\"default\"]));\n maybeFreezeValueOrPromise(defaultLoadable.contents);\n var cachedAnswerForUnvalidatedValue = undefined; // Cleanup handlers for this atom\n // Rely on stable reference equality of the store to use it as a key per \n\n var cleanupEffectsByStore = new Map();\n\n function maybeFreezeValueOrPromise(valueOrPromise) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.dangerouslyAllowMutability !== true) {\n if (Recoil_isPromise(valueOrPromise)) {\n return valueOrPromise.then(function (value) {\n Recoil_deepFreezeValue(value);\n return value;\n });\n } else {\n Recoil_deepFreezeValue(valueOrPromise);\n return valueOrPromise;\n }\n }\n }\n\n return valueOrPromise;\n }\n\n function wrapPendingPromise(store, promise) {\n var wrappedPromise = promise.then(function (value) {\n var _store$getState$nextT, _state$atomValues$get;\n\n var state = (_store$getState$nextT = store.getState().nextTree) !== null && _store$getState$nextT !== void 0 ? _store$getState$nextT : store.getState().currentTree;\n\n if (((_state$atomValues$get = state.atomValues.get(key)) === null || _state$atomValues$get === void 0 ? void 0 : _state$atomValues$get.contents) === wrappedPromise) {\n setRecoilValue$4(store, node, value);\n }\n\n return value;\n })[\"catch\"](function (error) {\n var _store$getState$nextT2, _state$atomValues$get2;\n\n var state = (_store$getState$nextT2 = store.getState().nextTree) !== null && _store$getState$nextT2 !== void 0 ? _store$getState$nextT2 : store.getState().currentTree;\n\n if (((_state$atomValues$get2 = state.atomValues.get(key)) === null || _state$atomValues$get2 === void 0 ? void 0 : _state$atomValues$get2.contents) === wrappedPromise) {\n setRecoilValueLoadable$2(store, node, loadableWithError$2(error));\n }\n\n throw error;\n });\n return wrappedPromise;\n }\n\n function initAtom(store, initState, trigger) {\n var _options$effects;\n\n liveStoresCount++;\n\n var cleanupAtom = function cleanupAtom() {\n var _cleanupEffectsByStor;\n\n liveStoresCount--;\n (_cleanupEffectsByStor = cleanupEffectsByStore.get(store)) === null || _cleanupEffectsByStor === void 0 ? void 0 : _cleanupEffectsByStor.forEach(function (cleanup) {\n return cleanup();\n });\n cleanupEffectsByStore[\"delete\"](store);\n };\n\n store.getState().knownAtoms.add(key); // Setup async defaults to notify subscribers when they resolve\n\n if (defaultLoadable.state === 'loading') {\n var notifyDefaultSubscribers = function notifyDefaultSubscribers() {\n var _store$getState$nextT3;\n\n var state = (_store$getState$nextT3 = store.getState().nextTree) !== null && _store$getState$nextT3 !== void 0 ? _store$getState$nextT3 : store.getState().currentTree;\n\n if (!state.atomValues.has(key)) {\n markRecoilValueModified$2(store, node);\n }\n };\n\n defaultLoadable.contents[\"finally\"](notifyDefaultSubscribers);\n } ///////////////////\n // Run Atom Effects\n ///////////////////\n\n\n var effects = (_options$effects = options.effects) !== null && _options$effects !== void 0 ? _options$effects : options.effects_UNSTABLE;\n\n if (effects != null) {\n var getLoadable = function getLoadable(recoilValue) {\n // Normally we can just get the current value of another atom.\n // But for our own value we need to check if there is a pending\n // initialized value or get the fallback default value.\n if (isDuringInit && recoilValue.key === key) {\n // Cast T to S\n var retValue = initValue; // flowlint-line unclear-type:off\n\n return retValue instanceof DefaultValue$2 ? peekAtom(store, initState) // flowlint-line unclear-type:off\n : Recoil_isPromise(retValue) ? loadableWithPromise$2(retValue.then(function (v) {\n return v instanceof DefaultValue$2 ? // Cast T to S\n defaultLoadable.toPromise() // flowlint-line unclear-type:off\n : v;\n })) : loadableWithValue$3(retValue);\n }\n\n return getRecoilValueAsLoadable$4(store, recoilValue);\n };\n\n var getPromise = function getPromise(recoilValue) {\n return getLoadable(recoilValue).toPromise();\n };\n\n var getInfo_UNSTABLE = function getInfo_UNSTABLE(recoilValue) {\n var _store$getState$nextT4;\n\n var info = peekNodeInfo$3(store, (_store$getState$nextT4 = store.getState().nextTree) !== null && _store$getState$nextT4 !== void 0 ? _store$getState$nextT4 : store.getState().currentTree, recoilValue.key);\n return isDuringInit && recoilValue.key === key && !(initValue instanceof DefaultValue$2) ? _objectSpread(_objectSpread({}, info), {}, {\n isSet: true,\n loadable: getLoadable(recoilValue)\n }) : info;\n };\n\n // This state is scoped by Store, since this is in the initAtom() closure\n var initValue = DEFAULT_VALUE$7;\n var isDuringInit = true;\n var isInitError = false;\n var pendingSetSelf = null;\n\n var setSelf = function setSelf(effect) {\n return function (valueOrUpdater) {\n if (isDuringInit) {\n var currentLoadable = getLoadable(node);\n var currentValue = currentLoadable.state === 'hasValue' ? currentLoadable.contents : DEFAULT_VALUE$7;\n initValue = typeof valueOrUpdater === 'function' ? // cast to any because we can't restrict T from being a function without losing support for opaque types\n valueOrUpdater(currentValue) // flowlint-line unclear-type:off\n : valueOrUpdater;\n\n if (Recoil_isPromise(initValue)) {\n initValue = initValue.then(function (value) {\n // Avoid calling onSet() when setSelf() initializes with a Promise\n pendingSetSelf = {\n effect: effect,\n value: value\n };\n return value;\n });\n }\n } else {\n if (Recoil_isPromise(valueOrUpdater)) {\n throw Recoil_err('Setting atoms to async values is not implemented.');\n }\n\n if (typeof valueOrUpdater !== 'function') {\n pendingSetSelf = {\n effect: effect,\n value: unwrap(valueOrUpdater)\n };\n }\n\n setRecoilValue$4(store, node, typeof valueOrUpdater === 'function' ? function (currentValue) {\n var newValue = unwrap( // cast to any because we can't restrict T from being a function without losing support for opaque types\n valueOrUpdater(currentValue) // flowlint-line unclear-type:off\n );\n pendingSetSelf = {\n effect: effect,\n value: newValue\n };\n return newValue;\n } : unwrap(valueOrUpdater));\n }\n };\n };\n\n var resetSelf = function resetSelf(effect) {\n return function () {\n return setSelf(effect)(DEFAULT_VALUE$7);\n };\n };\n\n var onSet = function onSet(effect) {\n return function (handler) {\n var _cleanupEffectsByStor2;\n\n var _store$subscribeToTra = store.subscribeToTransactions(function (currentStore) {\n var _currentTree$atomValu; // eslint-disable-next-line prefer-const\n\n\n var _currentStore$getStat = currentStore.getState(),\n currentTree = _currentStore$getStat.currentTree,\n previousTree = _currentStore$getStat.previousTree;\n\n if (!previousTree) {\n Recoil_recoverableViolation('Transaction subscribers notified without a next tree being present -- this is a bug in Recoil');\n previousTree = currentTree; // attempt to trundle on\n }\n\n var newLoadable = (_currentTree$atomValu = currentTree.atomValues.get(key)) !== null && _currentTree$atomValu !== void 0 ? _currentTree$atomValu : defaultLoadable;\n\n if (newLoadable.state === 'hasValue') {\n var _previousTree$atomVal, _pendingSetSelf, _pendingSetSelf2, _pendingSetSelf3;\n\n var newValue = newLoadable.contents;\n var oldLoadable = (_previousTree$atomVal = previousTree.atomValues.get(key)) !== null && _previousTree$atomVal !== void 0 ? _previousTree$atomVal : defaultLoadable;\n var oldValue = oldLoadable.state === 'hasValue' ? oldLoadable.contents : DEFAULT_VALUE$7; // TODO This isn't actually valid, use as a placeholder for now.\n // Ignore atom value changes that were set via setSelf() in the same effect.\n // We will still properly call the handler if there was a subsequent\n // set from something other than an atom effect which was batched\n // with the `setSelf()` call. However, we may incorrectly ignore\n // the handler if the subsequent batched call happens to set the\n // atom to the exact same value as the `setSelf()`. But, in that\n // case, it was kind of a noop, so the semantics are debatable..\n\n if (((_pendingSetSelf = pendingSetSelf) === null || _pendingSetSelf === void 0 ? void 0 : _pendingSetSelf.effect) !== effect || ((_pendingSetSelf2 = pendingSetSelf) === null || _pendingSetSelf2 === void 0 ? void 0 : _pendingSetSelf2.value) !== newValue) {\n handler(newValue, oldValue, !currentTree.atomValues.has(key));\n } else if (((_pendingSetSelf3 = pendingSetSelf) === null || _pendingSetSelf3 === void 0 ? void 0 : _pendingSetSelf3.effect) === effect) {\n pendingSetSelf = null;\n }\n }\n }, key),\n release = _store$subscribeToTra.release;\n\n cleanupEffectsByStore.set(store, [].concat(_toConsumableArray((_cleanupEffectsByStor2 = cleanupEffectsByStore.get(store)) !== null && _cleanupEffectsByStor2 !== void 0 ? _cleanupEffectsByStor2 : []), [release]));\n };\n };\n\n var _iterator53 = _createForOfIteratorHelper(effects),\n _step53;\n\n try {\n for (_iterator53.s(); !(_step53 = _iterator53.n()).done;) {\n var effect = _step53.value;\n\n try {\n var cleanup = effect({\n node: node,\n storeID: store.storeID,\n parentStoreID_UNSTABLE: store.parentStoreID,\n trigger: trigger,\n setSelf: setSelf(effect),\n resetSelf: resetSelf(effect),\n onSet: onSet(effect),\n getPromise: getPromise,\n getLoadable: getLoadable,\n getInfo_UNSTABLE: getInfo_UNSTABLE\n });\n\n if (cleanup != null) {\n var _cleanupEffectsByStor3;\n\n cleanupEffectsByStore.set(store, [].concat(_toConsumableArray((_cleanupEffectsByStor3 = cleanupEffectsByStore.get(store)) !== null && _cleanupEffectsByStor3 !== void 0 ? _cleanupEffectsByStor3 : []), [cleanup]));\n }\n } catch (error) {\n initValue = error;\n isInitError = true;\n }\n }\n } catch (err) {\n _iterator53.e(err);\n } finally {\n _iterator53.f();\n }\n\n isDuringInit = false; // Mutate initial state in place since we know there are no other subscribers\n // since we are the ones initializing on first use.\n\n if (!(initValue instanceof DefaultValue$2)) {\n var _store$getState$nextT5;\n\n var initLoadable = isInitError ? loadableWithError$2(initValue) : Recoil_isPromise(initValue) ? loadableWithPromise$2(wrapPendingPromise(store, initValue)) : loadableWithValue$3(unwrap(initValue));\n maybeFreezeValueOrPromise(initLoadable.contents);\n initState.atomValues.set(key, initLoadable); // If there is a pending transaction, then also mutate the next state tree.\n // This could happen if the atom was first initialized in an action that\n // also updated some other atom's state.\n\n (_store$getState$nextT5 = store.getState().nextTree) === null || _store$getState$nextT5 === void 0 ? void 0 : _store$getState$nextT5.atomValues.set(key, initLoadable);\n }\n }\n\n return cleanupAtom;\n }\n\n function peekAtom(_store, state) {\n var _ref, _state$atomValues$get3;\n\n return (_ref = (_state$atomValues$get3 = state.atomValues.get(key)) !== null && _state$atomValues$get3 !== void 0 ? _state$atomValues$get3 : cachedAnswerForUnvalidatedValue) !== null && _ref !== void 0 ? _ref : defaultLoadable;\n }\n\n function getAtom(_store, state) {\n if (state.atomValues.has(key)) {\n // Atom value is stored in state:\n return Recoil_nullthrows(state.atomValues.get(key));\n } else if (state.nonvalidatedAtoms.has(key)) {\n // Atom value is stored but needs validation before use.\n // We might have already validated it and have a cached validated value:\n if (cachedAnswerForUnvalidatedValue != null) {\n return cachedAnswerForUnvalidatedValue;\n }\n\n if (persistence == null) {\n Recoil_expectationViolation(\"Tried to restore a persisted value for atom \".concat(key, \" but it has no persistence settings.\"));\n return defaultLoadable;\n }\n\n var nonvalidatedValue = state.nonvalidatedAtoms.get(key);\n var validatorResult = persistence.validator(nonvalidatedValue, DEFAULT_VALUE$7);\n var validatedValueLoadable = validatorResult instanceof DefaultValue$2 ? defaultLoadable : loadableWithValue$3(validatorResult);\n cachedAnswerForUnvalidatedValue = validatedValueLoadable;\n return cachedAnswerForUnvalidatedValue;\n } else {\n return defaultLoadable;\n }\n }\n\n function invalidateAtom() {\n cachedAnswerForUnvalidatedValue = undefined;\n }\n\n function setAtom(_store, state, newValue) {\n // Bail out if we're being set to the existing value, or if we're being\n // reset but have no stored value (validated or unvalidated) to reset from:\n if (state.atomValues.has(key)) {\n var existing = Recoil_nullthrows(state.atomValues.get(key));\n\n if (existing.state === 'hasValue' && newValue === existing.contents) {\n return new Map();\n }\n } else if (!state.nonvalidatedAtoms.has(key) && newValue instanceof DefaultValue$2) {\n return new Map();\n }\n\n maybeFreezeValueOrPromise(newValue);\n cachedAnswerForUnvalidatedValue = undefined; // can be released now if it was previously in use\n\n return new Map().set(key, loadableWithValue$3(newValue));\n }\n\n function shouldDeleteConfigOnReleaseAtom() {\n return getConfigDeletionHandler$2(key) !== undefined && liveStoresCount <= 0;\n }\n\n var node = registerNode$2({\n key: key,\n nodeType: 'atom',\n peek: peekAtom,\n get: getAtom,\n set: setAtom,\n init: initAtom,\n invalidate: invalidateAtom,\n shouldDeleteConfigOnRelease: shouldDeleteConfigOnReleaseAtom,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n persistence_UNSTABLE: options.persistence_UNSTABLE ? {\n type: options.persistence_UNSTABLE.type,\n backButton: options.persistence_UNSTABLE.backButton\n } : undefined,\n shouldRestoreFromSnapshots: true,\n retainedBy: retainedBy\n });\n return node;\n} // prettier-ignore\n\n\nfunction atom(options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options.key !== 'string') {\n throw Recoil_err('A key option with a unique string value must be provided when creating an atom.');\n }\n }\n\n var restOptions = _extends({}, options);\n\n var optionsDefault = 'default' in options ? // $FlowIssue[incompatible-type] No way to refine in Flow that property is not defined\n options[\"default\"] : new Promise(function () {});\n\n if (isRecoilValue$4(optionsDefault) // Continue to use atomWithFallback for promise defaults for scoped atoms\n // for now, since scoped atoms don't support async defaults\n // @fb-only: || (isPromise(optionsDefault) && scopeRules_APPEND_ONLY_READ_THE_DOCS)\n // @fb-only: || (isLoadable(optionsDefault) && scopeRules_APPEND_ONLY_READ_THE_DOCS)\n ) {\n return atomWithFallback(_objectSpread(_objectSpread({}, restOptions), {}, {\n \"default\": optionsDefault // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS,\n\n })); // @fb-only: } else if (scopeRules_APPEND_ONLY_READ_THE_DOCS\n // @fb-only: && !isPromise(optionsDefault)\n // @fb-only: && !isLoadable(optionsDefault)\n // @fb-only: ) {\n // @fb-only: return scopedAtom({\n // @fb-only: ...restOptions,\n // @fb-only: default: unwrap(optionsDefault),\n // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS,\n // @fb-only: });\n } else {\n return baseAtom(_objectSpread(_objectSpread({}, restOptions), {}, {\n \"default\": optionsDefault\n }));\n }\n}\n\nfunction atomWithFallback(options) {\n var base = atom(_objectSpread(_objectSpread({}, options), {}, {\n \"default\": DEFAULT_VALUE$7,\n persistence_UNSTABLE: options.persistence_UNSTABLE === undefined ? undefined : _objectSpread(_objectSpread({}, options.persistence_UNSTABLE), {}, {\n validator: function validator(storedValue) {\n return storedValue instanceof DefaultValue$2 ? storedValue : Recoil_nullthrows(options.persistence_UNSTABLE).validator(storedValue, DEFAULT_VALUE$7);\n }\n }),\n // TODO Hack for now.\n effects: options.effects,\n // flowlint-line unclear-type: off\n effects_UNSTABLE: options.effects_UNSTABLE // flowlint-line unclear-type: off\n\n }));\n var sel = Recoil_selector({\n key: \"\".concat(options.key, \"__withFallback\"),\n get: function get(_ref66) {\n var _get = _ref66.get;\n\n var baseValue = _get(base);\n\n return baseValue instanceof DefaultValue$2 ? options[\"default\"] : baseValue;\n },\n set: function set(_ref67, newValue) {\n var _set = _ref67.set;\n return _set(base, newValue);\n },\n // This selector does not need to cache as it is a wrapper selector\n // and the selector within the wrapper selector will have a cache\n // option by default\n cachePolicy_UNSTABLE: {\n eviction: 'most-recent'\n },\n dangerouslyAllowMutability: options.dangerouslyAllowMutability\n });\n setConfigDeletionHandler$1(sel.key, getConfigDeletionHandler$2(options.key));\n return sel;\n} // $FlowFixMe[missing-local-annot]\n\n\natom.value = function (value) {\n return new WrappedValue$2(value);\n};\n\nvar Recoil_atom = atom;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * @format\n * @oncall recoil\n */\n\nvar MapCache = /*#__PURE__*/function () {\n function MapCache(options) {\n _classCallCheck(this, MapCache);\n\n var _options$mapKey;\n\n _defineProperty(this, \"_map\", void 0);\n\n _defineProperty(this, \"_keyMapper\", void 0);\n\n this._map = new Map();\n this._keyMapper = (_options$mapKey = options === null || options === void 0 ? void 0 : options.mapKey) !== null && _options$mapKey !== void 0 ? _options$mapKey : function (v) {\n return v;\n };\n }\n\n _createClass(MapCache, [{\n key: \"size\",\n value: function size() {\n return this._map.size;\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this._map.has(this._keyMapper(key));\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this._map.get(this._keyMapper(key));\n }\n }, {\n key: \"set\",\n value: function set(key, val) {\n this._map.set(this._keyMapper(key), val);\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this._map[\"delete\"](this._keyMapper(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._map.clear();\n }\n }]);\n\n return MapCache;\n}();\n\nvar Recoil_MapCache = {\n MapCache: MapCache\n};\nvar Recoil_MapCache_1 = Recoil_MapCache.MapCache;\nvar Recoil_MapCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MapCache: Recoil_MapCache_1\n});\nvar LRUCache$2 = Recoil_LRUCache$1.LRUCache;\nvar MapCache$1 = Recoil_MapCache$1.MapCache;\nvar defaultPolicy$1 = {\n equality: 'reference',\n eviction: 'none',\n maxSize: Infinity\n};\n\nfunction cacheFromPolicy() {\n var _ref68 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultPolicy$1,\n _ref68$equality = _ref68.equality,\n equality = _ref68$equality === void 0 ? defaultPolicy$1.equality : _ref68$equality,\n _ref68$eviction = _ref68.eviction,\n eviction = _ref68$eviction === void 0 ? defaultPolicy$1.eviction : _ref68$eviction,\n _ref68$maxSize = _ref68.maxSize,\n maxSize = _ref68$maxSize === void 0 ? defaultPolicy$1.maxSize : _ref68$maxSize;\n\n var valueMapper = getValueMapper$1(equality);\n var cache = getCache(eviction, maxSize, valueMapper);\n return cache;\n}\n\nfunction getValueMapper$1(equality) {\n switch (equality) {\n case 'reference':\n return function (val) {\n return val;\n };\n\n case 'value':\n return function (val) {\n return Recoil_stableStringify(val);\n };\n }\n\n throw Recoil_err(\"Unrecognized equality policy \".concat(equality));\n}\n\nfunction getCache(eviction, maxSize, mapKey) {\n switch (eviction) {\n case 'keep-all':\n return new MapCache$1({\n mapKey: mapKey\n });\n\n case 'lru':\n return new LRUCache$2({\n mapKey: mapKey,\n maxSize: Recoil_nullthrows(maxSize)\n });\n\n case 'most-recent':\n return new LRUCache$2({\n mapKey: mapKey,\n maxSize: 1\n });\n }\n\n throw Recoil_err(\"Unrecognized eviction policy \".concat(eviction));\n}\n\nvar Recoil_cacheFromPolicy = cacheFromPolicy; // @fb-only: import type {ScopeRules} from 'Recoil_ScopedAtom';\n\nvar setConfigDeletionHandler$2 = Recoil_Node.setConfigDeletionHandler; // Process scopeRules to handle any entries which are functions taking parameters\n// prettier-ignore\n// @fb-only: function mapScopeRules

(\n// @fb-only: scopeRules?: ParameterizedScopeRules

,\n// @fb-only: param: P,\n// @fb-only: ): ScopeRules | void {\n// @fb-only: return scopeRules?.map(rule =>\n// @fb-only: Array.isArray(rule)\n// @fb-only: ? rule.map(entry => (typeof entry === 'function' ? entry(param) : entry))\n// @fb-only: : rule,\n// @fb-only: );\n// @fb-only: }\n\n/*\nA function which returns an atom based on the input parameter.\n\nEach unique parameter returns a unique atom. E.g.,\n\n const f = atomFamily(...);\n f({a: 1}) => an atom\n f({a: 2}) => a different atom\n\nThis allows components to persist local, private state using atoms. Each\ninstance of the component may have a different key, which it uses as the\nparameter for a family of atoms; in this way, each component will have\nits own atom not shared by other instances. These state keys may be composed\ninto children's state keys as well.\n*/\n\nfunction atomFamily(options) {\n var _options$cachePolicyF, _options$cachePolicyF2;\n\n var atomCache = Recoil_cacheFromPolicy({\n equality: (_options$cachePolicyF = (_options$cachePolicyF2 = options.cachePolicyForParams_UNSTABLE) === null || _options$cachePolicyF2 === void 0 ? void 0 : _options$cachePolicyF2.equality) !== null && _options$cachePolicyF !== void 0 ? _options$cachePolicyF : 'value',\n eviction: 'keep-all'\n }); // Simple atomFamily implementation to cache individual atoms based\n // on the parameter value equality.\n\n return function (params) {\n var _stableStringify, _options$effects;\n\n var cachedAtom = atomCache.get(params);\n\n if (cachedAtom != null) {\n return cachedAtom;\n }\n\n var cachePolicyForParams_UNSTABLE = options.cachePolicyForParams_UNSTABLE,\n atomOptions = _objectWithoutProperties(options, [\"cachePolicyForParams_UNSTABLE\"]);\n\n var optionsDefault = 'default' in options ? // $FlowIssue[incompatible-type] No way to refine in Flow that property is not defined\n options[\"default\"] : new Promise(function () {});\n var newAtom = Recoil_atom(_objectSpread(_objectSpread({}, atomOptions), {}, {\n key: \"\".concat(options.key, \"__\").concat((_stableStringify = Recoil_stableStringify(params)) !== null && _stableStringify !== void 0 ? _stableStringify : 'void'),\n \"default\": typeof optionsDefault === 'function' ? // The default was parameterized\n // Flow doesn't know that T isn't a function, so we need to case to any\n // $FlowIssue[incompatible-use]\n optionsDefault(params) : // Default may be a static value, promise, or RecoilValue\n optionsDefault,\n retainedBy_UNSTABLE: typeof options.retainedBy_UNSTABLE === 'function' ? options.retainedBy_UNSTABLE(params) : options.retainedBy_UNSTABLE,\n effects: typeof options.effects === 'function' ? options.effects(params) : typeof options.effects_UNSTABLE === 'function' ? options.effects_UNSTABLE(params) : (_options$effects = options.effects) !== null && _options$effects !== void 0 ? _options$effects : options.effects_UNSTABLE // prettier-ignore\n // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS: mapScopeRules(\n // @fb-only: options.scopeRules_APPEND_ONLY_READ_THE_DOCS,\n // @fb-only: params,\n // @fb-only: ),\n\n }));\n atomCache.set(params, newAtom);\n setConfigDeletionHandler$2(newAtom.key, function () {\n atomCache[\"delete\"](params);\n });\n return newAtom;\n };\n}\n\nvar Recoil_atomFamily = atomFamily;\nvar setConfigDeletionHandler$3 = Recoil_Node.setConfigDeletionHandler; // Keep in mind the parameter needs to be serializable as a cahche key\n// using Recoil_stableStringify\n// Add a unique index to each selector in case the cache implementation allows\n// duplicate keys based on equivalent stringified parameters\n\nvar nextIndex = 0;\n/* eslint-disable no-redeclare */\n// Return a function that returns members of a family of selectors of the same type\n// E.g.,\n//\n// const s = selectorFamily(...);\n// s({a: 1}) => a selector\n// s({a: 2}) => a different selector\n//\n// By default, the selectors are distinguished by distinct values of the\n// parameter based on value equality, not reference equality. This allows using\n// object literals or other equivalent objects at callsites to not create\n// duplicate cache entries. This behavior may be overridden with the\n// cacheImplementationForParams option.\n\nfunction selectorFamily(options) {\n var _options$cachePolicyF, _options$cachePolicyF2;\n\n var selectorCache = Recoil_cacheFromPolicy({\n equality: (_options$cachePolicyF = (_options$cachePolicyF2 = options.cachePolicyForParams_UNSTABLE) === null || _options$cachePolicyF2 === void 0 ? void 0 : _options$cachePolicyF2.equality) !== null && _options$cachePolicyF !== void 0 ? _options$cachePolicyF : 'value',\n eviction: 'keep-all'\n });\n return function (params) {\n var _stableStringify; // Throw an error with selector key so that it is clear which\n // selector is causing an error\n\n\n var cachedSelector;\n\n try {\n cachedSelector = selectorCache.get(params);\n } catch (error) {\n throw Recoil_err(\"Problem with cache lookup for selector \".concat(options.key, \": \").concat(error.message));\n }\n\n if (cachedSelector != null) {\n return cachedSelector;\n }\n\n var myKey = \"\".concat(options.key, \"__selectorFamily/\").concat((_stableStringify = Recoil_stableStringify(params, {\n // It is possible to use functions in parameters if the user uses\n // a cache with reference equality thanks to the incrementing index.\n allowFunctions: true\n })) !== null && _stableStringify !== void 0 ? _stableStringify : 'void', \"/\").concat(nextIndex++); // Append index in case values serialize to the same key string\n\n var myGet = function myGet(callbacks) {\n return options.get(params)(callbacks);\n };\n\n var myCachePolicy = options.cachePolicy_UNSTABLE;\n var retainedBy = typeof options.retainedBy_UNSTABLE === 'function' ? options.retainedBy_UNSTABLE(params) : options.retainedBy_UNSTABLE;\n var newSelector;\n\n if (options.set != null) {\n var set = options.set;\n\n var mySet = function mySet(callbacks, newValue) {\n return set(params)(callbacks, newValue);\n };\n\n newSelector = Recoil_selector({\n key: myKey,\n get: myGet,\n set: mySet,\n cachePolicy_UNSTABLE: myCachePolicy,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n retainedBy_UNSTABLE: retainedBy\n });\n } else {\n newSelector = Recoil_selector({\n key: myKey,\n get: myGet,\n cachePolicy_UNSTABLE: myCachePolicy,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n retainedBy_UNSTABLE: retainedBy\n });\n }\n\n selectorCache.set(params, newSelector);\n setConfigDeletionHandler$3(newSelector.key, function () {\n selectorCache[\"delete\"](params);\n });\n return newSelector;\n };\n}\n/* eslint-enable no-redeclare */\n\n\nvar Recoil_selectorFamily = selectorFamily; // flowlint-next-line unclear-type:off\n\nvar constantSelector = Recoil_selectorFamily({\n key: '__constant',\n get: function get(constant) {\n return function () {\n return constant;\n };\n },\n cachePolicyForParams_UNSTABLE: {\n equality: 'reference'\n }\n}); // Function that returns a selector which always produces the\n// same constant value. It may be called multiple times with the\n// same value, based on reference equality, and will provide the\n// same selector.\n\nfunction constSelector(constant) {\n return constantSelector(constant);\n}\n\nvar Recoil_constSelector = constSelector; // flowlint-next-line unclear-type:off\n\nvar throwingSelector = Recoil_selectorFamily({\n key: '__error',\n get: function get(message) {\n return function () {\n throw Recoil_err(message);\n };\n },\n // TODO Why?\n cachePolicyForParams_UNSTABLE: {\n equality: 'reference'\n }\n}); // Function that returns a selector which always throws an error\n// with the provided message.\n\nfunction errorSelector(message) {\n return throwingSelector(message);\n}\n\nvar Recoil_errorSelector = errorSelector;\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\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 * Wraps another recoil value and prevents writing to it.\n *\n * \n * @format\n * @oncall recoil\n */\n\nfunction readOnlySelector(atom) {\n // flowlint-next-line unclear-type: off\n return atom;\n}\n\nvar Recoil_readOnlySelector = readOnlySelector;\nvar loadableWithError$3 = Recoil_Loadable$1.loadableWithError,\n loadableWithPromise$3 = Recoil_Loadable$1.loadableWithPromise,\n loadableWithValue$4 = Recoil_Loadable$1.loadableWithValue; /////////////////\n// TRUTH TABLE\n/////////////////\n// Dependencies waitForNone waitForAny waitForAll waitForAllSettled\n// [loading, loading] [Promise, Promise] Promise Promise Promise\n// [value, loading] [value, Promise] [value, Promise] Promise Promise\n// [value, value] [value, value] [value, value] [value, value] [value, value]\n//\n// [error, loading] [Error, Promise] [Error, Promise] Error Promise\n// [error, error] [Error, Error] [Error, Error] Error [error, error]\n// [value, error] [value, Error] [value, Error] Error [value, error]\n// Issue parallel requests for all dependencies and return the current\n// status if they have results, have some error, or are still pending.\n\nfunction concurrentRequests(getRecoilValue, deps) {\n var results = Array(deps.length).fill(undefined);\n var exceptions = Array(deps.length).fill(undefined);\n\n var _iterator54 = _createForOfIteratorHelper(deps.entries()),\n _step54;\n\n try {\n for (_iterator54.s(); !(_step54 = _iterator54.n()).done;) {\n var _ref71 = _step54.value;\n\n var _ref70 = _slicedToArray(_ref71, 2);\n\n var i = _ref70[0];\n var dep = _ref70[1];\n\n try {\n results[i] = getRecoilValue(dep);\n } catch (e) {\n // exceptions can either be Promises of pending results or real errors\n exceptions[i] = e;\n }\n }\n } catch (err) {\n _iterator54.e(err);\n } finally {\n _iterator54.f();\n }\n\n return [results, exceptions];\n}\n\nfunction isError(exp) {\n return exp != null && !Recoil_isPromise(exp);\n}\n\nfunction unwrapDependencies(dependencies) {\n return Array.isArray(dependencies) ? dependencies : Object.getOwnPropertyNames(dependencies).map(function (key) {\n return dependencies[key];\n });\n}\n\nfunction wrapResults(dependencies,\n/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\nresults) {\n return Array.isArray(dependencies) ? results : // Object.getOwnPropertyNames() has consistent key ordering with ES6\n Object.getOwnPropertyNames(dependencies).reduce(function (out, key, idx) {\n return _objectSpread(_objectSpread({}, out), {}, _defineProperty2({}, key, results[idx]));\n }, {});\n}\n\nfunction wrapLoadables(dependencies, results, exceptions) {\n var output = exceptions.map(function (exception, idx) {\n return exception == null ? loadableWithValue$4(results[idx]) : Recoil_isPromise(exception) ? loadableWithPromise$3(exception) : loadableWithError$3(exception);\n });\n return wrapResults(dependencies, output);\n}\n\nfunction combineAsyncResultsWithSyncResults(syncResults, asyncResults) {\n return asyncResults.map(function (result, idx) {\n return (\n /**\n * it's important we use === undefined as opposed to == null, because the\n * resolved value of the async promise could be `null`, in which case we\n * don't want to use syncResults[idx], which would be undefined. If async\n * promise resolves to `undefined`, that's ok because `syncResults[idx]`\n * will also be `undefined`. That's a little hacky, but it works.\n */\n result === undefined ? syncResults[idx] : result\n );\n });\n} // Selector that requests all dependencies in parallel and immediately returns\n// current results without waiting.\n\n\nvar waitForNone = Recoil_selectorFamily({\n key: '__waitForNone',\n get: function get(dependencies) {\n return function (_ref72) {\n var get = _ref72.get;\n // Issue requests for all dependencies in parallel.\n var deps = unwrapDependencies(dependencies);\n\n var _concurrentRequests = concurrentRequests(get, deps),\n _concurrentRequests2 = _slicedToArray(_concurrentRequests, 2),\n results = _concurrentRequests2[0],\n exceptions = _concurrentRequests2[1]; // Always return the current status of the results; never block.\n\n\n return wrapLoadables(dependencies, results, exceptions);\n };\n },\n dangerouslyAllowMutability: true\n}); // Selector that requests all dependencies in parallel and waits for at least\n// one to be available before returning results. It will only error if all\n// dependencies have errors.\n\nvar waitForAny = Recoil_selectorFamily({\n key: '__waitForAny',\n get: function get(dependencies) {\n return function (_ref73) {\n var get = _ref73.get;\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n var deps = unwrapDependencies(dependencies);\n\n var _concurrentRequests3 = concurrentRequests(get, deps),\n _concurrentRequests4 = _slicedToArray(_concurrentRequests3, 2),\n results = _concurrentRequests4[0],\n exceptions = _concurrentRequests4[1]; // If any results are available, value or error, return the current status\n\n\n if (exceptions.some(function (exp) {\n return !Recoil_isPromise(exp);\n })) {\n return wrapLoadables(dependencies, results, exceptions);\n } // Otherwise, return a promise that will resolve when the next result is\n // available, whichever one happens to be next. But, if all pending\n // dependencies end up with errors, then reject the promise.\n\n\n return new Promise(function (resolve) {\n var _iterator55 = _createForOfIteratorHelper(exceptions.entries()),\n _step55;\n\n try {\n var _loop = function _loop() {\n var _ref74 = _step55.value;\n _ref75 = _slicedToArray(_ref74, 2);\n var i = _ref75[0];\n var exp = _ref75[1];\n\n if (Recoil_isPromise(exp)) {\n exp.then(function (result) {\n results[i] = result;\n exceptions[i] = undefined;\n resolve(wrapLoadables(dependencies, results, exceptions));\n })[\"catch\"](function (error) {\n exceptions[i] = error;\n resolve(wrapLoadables(dependencies, results, exceptions));\n });\n }\n };\n\n for (_iterator55.s(); !(_step55 = _iterator55.n()).done;) {\n var _ref75;\n\n _loop();\n }\n } catch (err) {\n _iterator55.e(err);\n } finally {\n _iterator55.f();\n }\n });\n };\n },\n dangerouslyAllowMutability: true\n}); // Selector that requests all dependencies in parallel and waits for all to be\n// available before returning a value. It will error if any dependencies error.\n\nvar waitForAll = Recoil_selectorFamily({\n key: '__waitForAll',\n get: function get(dependencies) {\n return function (_ref76) {\n var get = _ref76.get;\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n var deps = unwrapDependencies(dependencies);\n\n var _concurrentRequests5 = concurrentRequests(get, deps),\n _concurrentRequests6 = _slicedToArray(_concurrentRequests5, 2),\n results = _concurrentRequests6[0],\n exceptions = _concurrentRequests6[1]; // If all results are available, return the results\n\n\n if (exceptions.every(function (exp) {\n return exp == null;\n })) {\n return wrapResults(dependencies, results);\n } // If we have any errors, throw the first error\n\n\n var error = exceptions.find(isError);\n\n if (error != null) {\n throw error;\n } // Otherwise, return a promise that will resolve when all results are available\n\n\n return Promise.all(exceptions).then(function (exceptionResults) {\n return wrapResults(dependencies, combineAsyncResultsWithSyncResults(results, exceptionResults));\n });\n };\n },\n dangerouslyAllowMutability: true\n});\nvar waitForAllSettled = Recoil_selectorFamily({\n key: '__waitForAllSettled',\n get: function get(dependencies) {\n return function (_ref77) {\n var get = _ref77.get;\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n var deps = unwrapDependencies(dependencies);\n\n var _concurrentRequests7 = concurrentRequests(get, deps),\n _concurrentRequests8 = _slicedToArray(_concurrentRequests7, 2),\n results = _concurrentRequests8[0],\n exceptions = _concurrentRequests8[1]; // If all results are available, return the results\n\n\n if (exceptions.every(function (exp) {\n return !Recoil_isPromise(exp);\n })) {\n return wrapLoadables(dependencies, results, exceptions);\n } // Wait for all results to settle\n\n\n return Promise.all(exceptions.map(function (exp, i) {\n return Recoil_isPromise(exp) ? exp.then(function (result) {\n results[i] = result;\n exceptions[i] = undefined;\n })[\"catch\"](function (error) {\n results[i] = undefined;\n exceptions[i] = error;\n }) : null;\n })) // Then wrap them as loadables\n .then(function () {\n return wrapLoadables(dependencies, results, exceptions);\n });\n };\n },\n dangerouslyAllowMutability: true\n});\nvar noWait = Recoil_selectorFamily({\n key: '__noWait',\n get: function get(dependency) {\n return function (_ref78) {\n var get = _ref78.get;\n\n try {\n return Recoil_selector.value(loadableWithValue$4(get(dependency)));\n } catch (exception) {\n return Recoil_selector.value(Recoil_isPromise(exception) ? loadableWithPromise$3(exception) : loadableWithError$3(exception));\n }\n };\n },\n dangerouslyAllowMutability: true\n});\nvar Recoil_WaitFor = {\n waitForNone: waitForNone,\n waitForAny: waitForAny,\n waitForAll: waitForAll,\n waitForAllSettled: waitForAllSettled,\n noWait: noWait\n};\nvar RecoilLoadable = Recoil_Loadable$1.RecoilLoadable;\nvar DefaultValue$3 = Recoil_Node.DefaultValue;\nvar RecoilRoot$2 = Recoil_RecoilRoot.RecoilRoot,\n useRecoilStoreID$1 = Recoil_RecoilRoot.useRecoilStoreID;\nvar isRecoilValue$5 = Recoil_RecoilValue$1.isRecoilValue;\nvar retentionZone$1 = Recoil_RetentionZone.retentionZone;\nvar freshSnapshot$2 = Recoil_Snapshot$1.freshSnapshot;\nvar useRecoilState$1 = Recoil_Hooks.useRecoilState,\n useRecoilState_TRANSITION_SUPPORT_UNSTABLE$1 = Recoil_Hooks.useRecoilState_TRANSITION_SUPPORT_UNSTABLE,\n useRecoilStateLoadable$1 = Recoil_Hooks.useRecoilStateLoadable,\n useRecoilValue$1 = Recoil_Hooks.useRecoilValue,\n useRecoilValue_TRANSITION_SUPPORT_UNSTABLE$1 = Recoil_Hooks.useRecoilValue_TRANSITION_SUPPORT_UNSTABLE,\n useRecoilValueLoadable$1 = Recoil_Hooks.useRecoilValueLoadable,\n useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE$1 = Recoil_Hooks.useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE,\n useResetRecoilState$1 = Recoil_Hooks.useResetRecoilState,\n useSetRecoilState$1 = Recoil_Hooks.useSetRecoilState;\nvar useGotoRecoilSnapshot$1 = Recoil_SnapshotHooks.useGotoRecoilSnapshot,\n useRecoilSnapshot$1 = Recoil_SnapshotHooks.useRecoilSnapshot,\n useRecoilTransactionObserver$1 = Recoil_SnapshotHooks.useRecoilTransactionObserver;\nvar useRecoilCallback$1 = Recoil_useRecoilCallback.useRecoilCallback;\nvar noWait$1 = Recoil_WaitFor.noWait,\n waitForAll$1 = Recoil_WaitFor.waitForAll,\n waitForAllSettled$1 = Recoil_WaitFor.waitForAllSettled,\n waitForAny$1 = Recoil_WaitFor.waitForAny,\n waitForNone$1 = Recoil_WaitFor.waitForNone;\nvar Recoil_index = {\n // Types\n DefaultValue: DefaultValue$3,\n isRecoilValue: isRecoilValue$5,\n RecoilLoadable: RecoilLoadable,\n // Global Recoil environment settiongs\n RecoilEnv: Recoil_RecoilEnv,\n // Recoil Root\n RecoilRoot: RecoilRoot$2,\n useRecoilStoreID: useRecoilStoreID$1,\n useRecoilBridgeAcrossReactRoots_UNSTABLE: Recoil_useRecoilBridgeAcrossReactRoots,\n // Atoms/Selectors\n atom: Recoil_atom,\n selector: Recoil_selector,\n // Convenience Atoms/Selectors\n atomFamily: Recoil_atomFamily,\n selectorFamily: Recoil_selectorFamily,\n constSelector: Recoil_constSelector,\n errorSelector: Recoil_errorSelector,\n readOnlySelector: Recoil_readOnlySelector,\n // Concurrency Helpers for Atoms/Selectors\n noWait: noWait$1,\n waitForNone: waitForNone$1,\n waitForAny: waitForAny$1,\n waitForAll: waitForAll$1,\n waitForAllSettled: waitForAllSettled$1,\n // Hooks for Atoms/Selectors\n useRecoilValue: useRecoilValue$1,\n useRecoilValueLoadable: useRecoilValueLoadable$1,\n useRecoilState: useRecoilState$1,\n useRecoilStateLoadable: useRecoilStateLoadable$1,\n useSetRecoilState: useSetRecoilState$1,\n useResetRecoilState: useResetRecoilState$1,\n useGetRecoilValueInfo_UNSTABLE: Recoil_useGetRecoilValueInfo,\n useRecoilRefresher_UNSTABLE: Recoil_useRecoilRefresher,\n useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE: useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE$1,\n useRecoilValue_TRANSITION_SUPPORT_UNSTABLE: useRecoilValue_TRANSITION_SUPPORT_UNSTABLE$1,\n useRecoilState_TRANSITION_SUPPORT_UNSTABLE: useRecoilState_TRANSITION_SUPPORT_UNSTABLE$1,\n // Hooks for complex operations\n useRecoilCallback: useRecoilCallback$1,\n useRecoilTransaction_UNSTABLE: Recoil_useRecoilTransaction,\n // Snapshots\n useGotoRecoilSnapshot: useGotoRecoilSnapshot$1,\n useRecoilSnapshot: useRecoilSnapshot$1,\n useRecoilTransactionObserver_UNSTABLE: useRecoilTransactionObserver$1,\n snapshot_UNSTABLE: freshSnapshot$2,\n // Memory Management\n useRetain: Recoil_useRetain,\n retentionZone: retentionZone$1\n};\nvar Recoil_index_1 = Recoil_index.DefaultValue;\nvar Recoil_index_2 = Recoil_index.isRecoilValue;\nvar Recoil_index_3 = Recoil_index.RecoilLoadable;\nvar Recoil_index_4 = Recoil_index.RecoilEnv;\nvar Recoil_index_5 = Recoil_index.RecoilRoot;\nvar Recoil_index_6 = Recoil_index.useRecoilStoreID;\nvar Recoil_index_7 = Recoil_index.useRecoilBridgeAcrossReactRoots_UNSTABLE;\nvar Recoil_index_8 = Recoil_index.atom;\nvar Recoil_index_9 = Recoil_index.selector;\nvar Recoil_index_10 = Recoil_index.atomFamily;\nvar Recoil_index_11 = Recoil_index.selectorFamily;\nvar Recoil_index_12 = Recoil_index.constSelector;\nvar Recoil_index_13 = Recoil_index.errorSelector;\nvar Recoil_index_14 = Recoil_index.readOnlySelector;\nvar Recoil_index_15 = Recoil_index.noWait;\nvar Recoil_index_16 = Recoil_index.waitForNone;\nvar Recoil_index_17 = Recoil_index.waitForAny;\nvar Recoil_index_18 = Recoil_index.waitForAll;\nvar Recoil_index_19 = Recoil_index.waitForAllSettled;\nvar Recoil_index_20 = Recoil_index.useRecoilValue;\nvar Recoil_index_21 = Recoil_index.useRecoilValueLoadable;\nvar Recoil_index_22 = Recoil_index.useRecoilState;\nvar Recoil_index_23 = Recoil_index.useRecoilStateLoadable;\nvar Recoil_index_24 = Recoil_index.useSetRecoilState;\nvar Recoil_index_25 = Recoil_index.useResetRecoilState;\nvar Recoil_index_26 = Recoil_index.useGetRecoilValueInfo_UNSTABLE;\nvar Recoil_index_27 = Recoil_index.useRecoilRefresher_UNSTABLE;\nvar Recoil_index_28 = Recoil_index.useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE;\nvar Recoil_index_29 = Recoil_index.useRecoilValue_TRANSITION_SUPPORT_UNSTABLE;\nvar Recoil_index_30 = Recoil_index.useRecoilState_TRANSITION_SUPPORT_UNSTABLE;\nvar Recoil_index_31 = Recoil_index.useRecoilCallback;\nvar Recoil_index_32 = Recoil_index.useRecoilTransaction_UNSTABLE;\nvar Recoil_index_33 = Recoil_index.useGotoRecoilSnapshot;\nvar Recoil_index_34 = Recoil_index.useRecoilSnapshot;\nvar Recoil_index_35 = Recoil_index.useRecoilTransactionObserver_UNSTABLE;\nvar Recoil_index_36 = Recoil_index.snapshot_UNSTABLE;\nvar Recoil_index_37 = Recoil_index.useRetain;\nvar Recoil_index_38 = Recoil_index.retentionZone;\nexport default Recoil_index;\nexport { Recoil_index_1 as DefaultValue, Recoil_index_4 as RecoilEnv, Recoil_index_3 as RecoilLoadable, Recoil_index_5 as RecoilRoot, Recoil_index_8 as atom, Recoil_index_10 as atomFamily, Recoil_index_12 as constSelector, Recoil_index_13 as errorSelector, Recoil_index_2 as isRecoilValue, Recoil_index_15 as noWait, Recoil_index_14 as readOnlySelector, Recoil_index_38 as retentionZone, Recoil_index_9 as selector, Recoil_index_11 as selectorFamily, Recoil_index_36 as snapshot_UNSTABLE, Recoil_index_26 as useGetRecoilValueInfo_UNSTABLE, Recoil_index_33 as useGotoRecoilSnapshot, Recoil_index_7 as useRecoilBridgeAcrossReactRoots_UNSTABLE, Recoil_index_31 as useRecoilCallback, Recoil_index_27 as useRecoilRefresher_UNSTABLE, Recoil_index_34 as useRecoilSnapshot, Recoil_index_22 as useRecoilState, Recoil_index_23 as useRecoilStateLoadable, Recoil_index_30 as useRecoilState_TRANSITION_SUPPORT_UNSTABLE, Recoil_index_6 as useRecoilStoreID, Recoil_index_35 as useRecoilTransactionObserver_UNSTABLE, Recoil_index_32 as useRecoilTransaction_UNSTABLE, Recoil_index_20 as useRecoilValue, Recoil_index_21 as useRecoilValueLoadable, Recoil_index_28 as useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE, Recoil_index_29 as useRecoilValue_TRANSITION_SUPPORT_UNSTABLE, Recoil_index_25 as useResetRecoilState, Recoil_index_37 as useRetain, Recoil_index_24 as useSetRecoilState, Recoil_index_18 as waitForAll, Recoil_index_19 as waitForAllSettled, Recoil_index_17 as waitForAny, Recoil_index_16 as waitForNone };","import { atom, useRecoilCallback } from 'recoil';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport type { WorkProperty, WorkContent, Department } from '@/interface';\n\nexport const workPropertiesState = atom>({\n key: 'atom/dr/workProperties',\n default: [],\n});\n\nexport const workPropertiesWithCascadeState = atom>({\n key: 'atom/dr/workPropertiesWithCascade',\n default: [],\n});\n\nexport const workContentsState = atom>({\n key: 'atom/dr/workContents',\n default: [],\n});\n\nexport const workContentsWithCascadeState = atom>({\n key: 'atom/dr/workContentsWithCascade',\n default: [],\n});\n\nexport const workDetailsState = atom>({\n key: 'atom/dr/workDetails',\n default: [],\n});\n\nexport const departmentsState = atom>({\n key: 'atom/dr/departments',\n default: [],\n});\n\ntype FormTypeCMetaData = {\n dummyWorkProperty: WorkProperty;\n breaktimeWorkContent: WorkContent;\n};\n\nexport const formTypeCMetaDataState = atom({\n key: 'atom/dr/formTypeCMetaData',\n default: null,\n});\n\ninterface DS {\n date: string | null;\n}\n\nexport const dailyreportState = atom({\n key: 'atom/dr/dailyreport',\n default: {\n date: null,\n },\n});\n\nexport const useDRDispatch = () => {\n const setDate = useRecoilCallback(\n ({ set }) =>\n (event: React.ChangeEvent) => {\n set(dailyreportState, { date: event.target.value });\n },\n );\n\n return { setDate };\n};\n","export var canUseDom = !!(typeof window !== 'undefined' && typeof document !== 'undefined' && window.document && window.document.createElement);","import \"./global.css\";\nimport { canUseDom } from '../utils/can-use-dom';\n\nif (canUseDom) {\n // Make sure the `:active` CSS selector of `button` and `a` take effect\n // See: https://stackoverflow.com/questions/3885018/active-pseudo-class-doesnt-work-in-mobile-safari\n document.addEventListener('touchstart', function () {}, true);\n} // Only for debugging. Must COMMENT this line before commit:\n// import './css-vars-patch.less'","import React from 'react';\nimport classNames from 'classnames';\nexport function withNativeProps(props, element) {\n var p = Object.assign({}, element.props);\n\n if (props.className) {\n p.className = classNames(element.props.className, props.className);\n }\n\n if (props.style) {\n p.style = Object.assign(Object.assign({}, p.style), props.style);\n }\n\n if (props.tabIndex !== undefined) {\n p.tabIndex = props.tabIndex;\n }\n\n for (var key in props) {\n if (!props.hasOwnProperty(key)) continue;\n\n if (key.startsWith('data-') || key.startsWith('aria-')) {\n p[key] = props[key];\n }\n }\n\n return /*#__PURE__*/React.cloneElement(element, p);\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nvar classPrefix = 'adm-auto-center';\nexport var AutoCenter = function AutoCenter(props) {\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content\")\n }, props.children)));\n};","import \"./auto-center.css\";\nimport { AutoCenter } from './auto-center';\nexport default AutoCenter;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (g && (g = 0, op[0] && (_ = 0)), _) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\n/** @deprecated */\n\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\n\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || _typeof(receiver) !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}","import assignWith from 'lodash/assignWith';\nexport function mergeProps() {\n function customizer(objValue, srcValue) {\n return srcValue === undefined ? objValue : srcValue;\n }\n\n var ret = Object.assign({}, arguments.length <= 0 ? undefined : arguments[0]);\n\n for (var i = 1; i < arguments.length; i++) {\n ret = assignWith(ret, i < 0 || arguments.length <= i ? undefined : arguments[i], customizer);\n }\n\n return ret;\n}","import React, { memo } from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nvar classPrefix = \"adm-dot-loading\";\nvar colorRecord = {\n \"default\": 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nvar defaultProps = {\n color: 'default'\n};\nexport var DotLoading = /*#__PURE__*/memo(function (p) {\n var _a;\n\n var props = mergeProps(defaultProps, p);\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n color: (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color\n },\n className: classNames('adm-loading', classPrefix)\n }, /*#__PURE__*/React.createElement(\"svg\", {\n height: '1em',\n viewBox: '0 0 100 40',\n style: {\n verticalAlign: '-0.125em'\n }\n }, /*#__PURE__*/React.createElement(\"g\", {\n stroke: 'none',\n strokeWidth: '1',\n fill: 'none',\n fillRule: 'evenodd'\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: 'translate(-100.000000, -71.000000)'\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: 'translate(95.000000, 71.000000)'\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: 'translate(5.000000, 0.000000)'\n }, [0, 1, 2].map(function (i) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: i,\n fill: 'currentColor',\n x: 20 + i * 26,\n y: '16',\n width: '8',\n height: '8',\n rx: '2'\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: 'y',\n from: '16',\n to: '16',\n dur: '2s',\n begin: \"\".concat(i * 0.2, \"s\"),\n repeatCount: 'indefinite',\n values: '16; 6; 26; 16; 16',\n keyTimes: '0; 0.1; 0.3; 0.4; 1'\n }));\n }))))))));\n});","import \"./dot-loading.css\";\nimport { DotLoading } from './dot-loading';\nexport default DotLoading;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { canUseDom } from './can-use-dom';\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isObject(val) {\n return val !== null && _typeof(val) === 'object';\n}\nexport function isPromise(obj) {\n return !!obj && _typeof(obj) === 'object' && typeof obj.then === 'function';\n}\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !Number.isNaN(val.getTime());\n}\nexport function isMobile(value) {\n value = value.replace(/[^-|\\d]/g, '');\n return /^((\\+86)|(86))?(1)\\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);\n}\nexport function isNumeric(val) {\n return typeof val === 'number' || /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isAndroid() {\n return canUseDom ? /android/.test(navigator.userAgent.toLowerCase()) : false;\n}\nexport function isIOS() {\n return canUseDom ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : false;\n}","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { __awaiter } from \"tslib\";\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport DotLoading from '../dot-loading';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { isPromise } from '../../utils/validate';\nvar classPrefix = \"adm-button\";\nvar defaultProps = {\n color: 'default',\n fill: 'solid',\n block: false,\n loading: false,\n loadingIcon: /*#__PURE__*/React.createElement(DotLoading, {\n color: 'currentColor'\n }),\n type: 'button',\n shape: 'default',\n size: 'middle'\n};\nexport var Button = /*#__PURE__*/forwardRef(function (p, ref) {\n var _classNames;\n\n var props = mergeProps(defaultProps, p);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n innerLoading = _useState2[0],\n setInnerLoading = _useState2[1];\n\n var nativeButtonRef = useRef(null);\n var loading = props.loading === 'auto' ? innerLoading : props.loading;\n var disabled = props.disabled || loading;\n useImperativeHandle(ref, function () {\n return {\n get nativeElement() {\n return nativeButtonRef.current;\n }\n\n };\n });\n\n var handleClick = function handleClick(e) {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var promise;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (props.onClick) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n promise = props.onClick(e);\n\n if (!isPromise(promise)) {\n _context.next = 15;\n break;\n }\n\n _context.prev = 4;\n setInnerLoading(true);\n _context.next = 8;\n return promise;\n\n case 8:\n setInnerLoading(false);\n _context.next = 15;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](4);\n setInnerLoading(false);\n throw _context.t0;\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[4, 11]]);\n }));\n };\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"button\", {\n ref: nativeButtonRef,\n type: props.type,\n onClick: handleClick,\n className: classNames(classPrefix, props.color ? \"\".concat(classPrefix, \"-\").concat(props.color) : null, (_classNames = {}, _defineProperty(_classNames, \"\".concat(classPrefix, \"-block\"), props.block), _defineProperty(_classNames, \"\".concat(classPrefix, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(classPrefix, \"-fill-outline\"), props.fill === 'outline'), _defineProperty(_classNames, \"\".concat(classPrefix, \"-fill-none\"), props.fill === 'none'), _defineProperty(_classNames, \"\".concat(classPrefix, \"-mini\"), props.size === 'mini'), _defineProperty(_classNames, \"\".concat(classPrefix, \"-small\"), props.size === 'small'), _defineProperty(_classNames, \"\".concat(classPrefix, \"-large\"), props.size === 'large'), _defineProperty(_classNames, \"\".concat(classPrefix, \"-loading\"), loading), _classNames), \"\".concat(classPrefix, \"-shape-\").concat(props.shape)),\n disabled: disabled,\n onMouseDown: props.onMouseDown,\n onMouseUp: props.onMouseUp,\n onTouchStart: props.onTouchStart,\n onTouchEnd: props.onTouchEnd\n }, loading ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-loading-wrapper\")\n }, props.loadingIcon, props.loadingText) : /*#__PURE__*/React.createElement(\"span\", null, props.children)));\n});","import \"./button.css\";\nimport { Button } from './button';\nexport default Button;","var isBrowser = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default isBrowser;","import { useEffect, useLayoutEffect } from 'react';\nimport isBrowser from '../utils/isBrowser';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import { useEffect, useRef } from 'react';\n\nvar useUnmountedRef = function useUnmountedRef() {\n var unmountedRef = useRef(false);\n useEffect(function () {\n unmountedRef.current = false;\n return function () {\n unmountedRef.current = true;\n };\n }, []);\n return unmountedRef;\n};\n\nexport default useUnmountedRef;","import { canUseDom } from './can-use-dom';\nvar defaultRoot = canUseDom ? window : undefined;\nvar overflowStylePatterns = ['scroll', 'auto', 'overlay'];\n\nfunction isElement(node) {\n var ELEMENT_NODE_TYPE = 1;\n return node.nodeType === ELEMENT_NODE_TYPE;\n}\n\nexport function getScrollParent(el) {\n var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultRoot;\n var node = el;\n\n while (node && node !== root && isElement(node)) {\n if (node === document.body) {\n return root;\n }\n\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowStylePatterns.includes(overflowY) && node.scrollHeight > node.clientHeight) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}","import { canUseDom } from './can-use-dom';\nexport var supportsPassive = false;\n\nif (canUseDom) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}","import { useTouch } from './use-touch';\nimport { useEffect } from 'react';\nimport { getScrollParent } from './get-scroll-parent';\nimport { supportsPassive } from './supports-passive';\nvar totalLockCount = 0;\nvar BODY_LOCK_CLASS = 'adm-overflow-hidden';\n\nfunction getScrollableElement(el) {\n var current = el === null || el === void 0 ? void 0 : el.parentElement;\n\n while (current) {\n if (current.clientHeight < current.scrollHeight) {\n return current;\n }\n\n current = current.parentElement;\n }\n\n return null;\n} // 移植自vant:https://github.com/youzan/vant/blob/HEAD/src/composables/use-lock-scroll.ts\n\n\nexport function useLockScroll(rootRef, shouldLock) {\n var touch = useTouch();\n\n var onTouchMove = function onTouchMove(event) {\n touch.move(event);\n var direction = touch.deltaY.current > 0 ? '10' : '01';\n var el = getScrollParent(event.target, rootRef.current);\n if (!el) return; // This has perf cost but we have to compatible with iOS 12\n\n if (shouldLock === 'strict') {\n var scrollableParent = getScrollableElement(event.target);\n\n if (scrollableParent === document.body || scrollableParent === document.documentElement) {\n event.preventDefault();\n return;\n }\n }\n\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n\n if (status !== '11' && touch.isVertical() && !(parseInt(status, 2) & parseInt(direction, 2))) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n };\n\n var lock = function lock() {\n document.addEventListener('touchstart', touch.start);\n document.addEventListener('touchmove', onTouchMove, supportsPassive ? {\n passive: false\n } : false);\n\n if (!totalLockCount) {\n document.body.classList.add(BODY_LOCK_CLASS);\n }\n\n totalLockCount++;\n };\n\n var unlock = function unlock() {\n if (totalLockCount) {\n document.removeEventListener('touchstart', touch.start);\n document.removeEventListener('touchmove', onTouchMove);\n totalLockCount--;\n\n if (!totalLockCount) {\n document.body.classList.remove(BODY_LOCK_CLASS);\n }\n }\n };\n\n useEffect(function () {\n if (shouldLock) {\n lock();\n return function () {\n unlock();\n };\n }\n }, [shouldLock]);\n}","import { useRef } from 'react';\nvar MIN_DISTANCE = 10;\n\nfunction getDirection(x, y) {\n if (x > y && x > MIN_DISTANCE) {\n return 'horizontal';\n }\n\n if (y > x && y > MIN_DISTANCE) {\n return 'vertical';\n }\n\n return '';\n}\n\nexport function useTouch() {\n var startX = useRef(0);\n var startY = useRef(0);\n var deltaX = useRef(0);\n var deltaY = useRef(0);\n var offsetX = useRef(0);\n var offsetY = useRef(0);\n var direction = useRef('');\n\n var isVertical = function isVertical() {\n return direction.current === 'vertical';\n };\n\n var isHorizontal = function isHorizontal() {\n return direction.current === 'horizontal';\n };\n\n var reset = function reset() {\n deltaX.current = 0;\n deltaY.current = 0;\n offsetX.current = 0;\n offsetY.current = 0;\n direction.current = '';\n };\n\n var start = function start(event) {\n reset();\n startX.current = event.touches[0].clientX;\n startY.current = event.touches[0].clientY;\n };\n\n var move = function move(event) {\n var touch = event.touches[0]; // Fix: Safari back will set clientX to negative number\n\n deltaX.current = touch.clientX < 0 ? 0 : touch.clientX - startX.current;\n deltaY.current = touch.clientY - startY.current;\n offsetX.current = Math.abs(deltaX.current);\n offsetY.current = Math.abs(deltaY.current);\n\n if (!direction.current) {\n direction.current = getDirection(offsetX.current, offsetY.current);\n }\n };\n\n return {\n move: move,\n start: start,\n reset: reset,\n startX: startX,\n startY: startY,\n deltaX: deltaX,\n deltaY: deltaY,\n offsetX: offsetX,\n offsetY: offsetY,\n direction: direction,\n isVertical: isVertical,\n isHorizontal: isHorizontal\n };\n}","import { createPortal } from 'react-dom';\nimport { resolveContainer } from './get-container';\nimport { canUseDom } from './can-use-dom';\nexport function renderToContainer(getContainer, node) {\n if (canUseDom && getContainer) {\n var container = resolveContainer(getContainer);\n return /*#__PURE__*/createPortal(node, container);\n }\n\n return node;\n}","export function resolveContainer(getContainer) {\n var container = typeof getContainer === 'function' ? getContainer() : getContainer;\n return container || document.body;\n}","import { mergeLocale } from '../utils/merge-locale';\nimport { base } from './base';\nvar typeTemplate = '${label}不是一个有效的${type}';\nvar zhCN = mergeLocale(base, {\n locale: 'zh-CH',\n common: {\n confirm: '确定',\n cancel: '取消',\n loading: '加载中'\n },\n Calendar: {\n markItems: ['一', '二', '三', '四', '五', '六', '日'],\n renderYearAndMonth: function renderYearAndMonth(year, month) {\n return \"\".concat(year, \"\\u5E74\").concat(month, \"\\u6708\");\n }\n },\n Cascader: {\n placeholder: '请选择'\n },\n Dialog: {\n ok: '我知道了'\n },\n DatePicker: {\n tillNow: '至今'\n },\n ErrorBlock: {\n \"default\": {\n title: '页面遇到一些小问题',\n description: '待会来试试'\n },\n busy: {\n title: '前方拥堵',\n description: '刷新试试'\n },\n disconnected: {\n title: '网络有点忙',\n description: '动动手指帮忙修复'\n },\n empty: {\n title: '没有找到你需要的东西',\n description: '找找其他的吧'\n }\n },\n Form: {\n required: '必填',\n optional: '选填',\n defaultValidateMessages: {\n \"default\": '字段验证错误${label}',\n required: '请输入${label}',\n \"enum\": '${label}必须是其中一个[${enum}]',\n whitespace: '${label}不能为空字符',\n date: {\n format: '${label}日期格式无效',\n parse: '${label}不能转换为日期',\n invalid: '${label}是一个无效日期'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label}须为${len}个字符',\n min: '${label}最少${min}个字符',\n max: '${label}最多${max}个字符',\n range: '${label}须在${min}-${max}字符之间'\n },\n number: {\n len: '${label}必须等于${len}',\n min: '${label}最小值为${min}',\n max: '${label}最大值为${max}',\n range: '${label}须在${min}-${max}之间'\n },\n array: {\n len: '须为${len}个${label}',\n min: '最少${min}个${label}',\n max: '最多${max}个${label}',\n range: '${label}数量须在${min}-${max}之间'\n },\n pattern: {\n mismatch: '${label}与模式不匹配${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: '上传中...',\n upload: '上传'\n },\n InfiniteScroll: {\n noMore: '没有更多了',\n failedToLoad: '加载失败',\n retry: '重新加载'\n },\n Input: {\n clear: '清除'\n },\n Mask: {\n name: '背景蒙层'\n },\n Modal: {\n ok: '我知道了'\n },\n PasscodeInput: {\n name: '密码输入框'\n },\n PullToRefresh: {\n pulling: '下拉刷新',\n canRelease: '释放立即刷新',\n complete: '刷新成功'\n },\n SearchBar: {\n name: '搜索框'\n },\n Slider: {\n name: '滑动输入条'\n },\n Stepper: {\n decrease: '减少',\n increase: '增加'\n },\n Switch: {\n name: '开关'\n }\n});\nexport default zhCN;","import { __rest } from \"tslib\";\nimport React, { useContext } from 'react';\nimport zhCN from '../../locales/zh-CN';\nexport var defaultConfigRef = {\n current: {\n locale: zhCN\n }\n};\nexport function setDefaultConfig(config) {\n defaultConfigRef.current = config;\n}\nexport function getDefaultConfig() {\n return defaultConfigRef.current;\n}\nvar ConfigContext = /*#__PURE__*/React.createContext(null);\nexport var ConfigProvider = function ConfigProvider(props) {\n var children = props.children,\n config = __rest(props, [\"children\"]);\n\n var parentConfig = useConfig();\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: Object.assign(Object.assign({}, parentConfig), config)\n }, children);\n};\nexport function useConfig() {\n var _a;\n\n return (_a = useContext(ConfigContext)) !== null && _a !== void 0 ? _a : getDefaultConfig();\n}","import { useInitialized } from './use-initialized';\nexport var ShouldRender = function ShouldRender(props) {\n var shouldRender = useShouldRender(props.active, props.forceRender, props.destroyOnClose);\n return shouldRender ? props.children : null;\n};\nexport function useShouldRender(active, forceRender, destroyOnClose) {\n var initialized = useInitialized(active);\n if (forceRender) return true;\n if (active) return true;\n if (!initialized) return false;\n return !destroyOnClose;\n}","import { useRef } from 'react';\nexport function useInitialized(check) {\n var initializedRef = useRef(check);\n\n if (check) {\n initializedRef.current = true;\n }\n\n return !!initializedRef.current;\n}","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport React from 'react';\nvar eventToPropRecord = {\n 'click': 'onClick'\n};\nexport function withStopPropagation(events, element) {\n var props = Object.assign({}, element.props);\n\n var _iterator = _createForOfIteratorHelper(events),\n _step;\n\n try {\n var _loop = function _loop() {\n var key = _step.value;\n var prop = eventToPropRecord[key];\n\n props[prop] = function (e) {\n var _a, _b;\n\n e.stopPropagation();\n (_b = (_a = element.props)[prop]) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n };\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return /*#__PURE__*/React.cloneElement(element, props);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { withNativeProps } from '../../utils/native-props';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useUnmountedRef } from 'ahooks';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { useSpring, animated } from '@react-spring/web';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useConfig } from '../config-provider';\nimport { ShouldRender } from '../../utils/should-render';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nvar classPrefix = \"adm-mask\";\nvar opacityRecord = {\n \"default\": 0.55,\n thin: 0.35,\n thick: 0.75\n};\nvar colorRecord = {\n black: '0, 0, 0',\n white: '255, 255, 255'\n};\nvar defaultProps = {\n visible: true,\n destroyOnClose: false,\n forceRender: false,\n color: 'black',\n opacity: 'default',\n disableBodyScroll: true,\n getContainer: null,\n stopPropagation: ['click']\n};\nexport var Mask = function Mask(p) {\n var props = mergeProps(defaultProps, p);\n\n var _useConfig = useConfig(),\n locale = _useConfig.locale;\n\n var ref = useRef(null);\n useLockScroll(ref, props.visible && props.disableBodyScroll);\n var background = useMemo(function () {\n var _a;\n\n var opacity = (_a = opacityRecord[props.opacity]) !== null && _a !== void 0 ? _a : props.opacity;\n var rgb = colorRecord[props.color];\n return rgb ? \"rgba(\".concat(rgb, \", \").concat(opacity, \")\") : props.color;\n }, [props.color, props.opacity]);\n\n var _useState = useState(props.visible),\n _useState2 = _slicedToArray(_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n\n var unmountedRef = useUnmountedRef();\n\n var _useSpring = useSpring({\n opacity: props.visible ? 1 : 0,\n config: {\n precision: 0.01,\n mass: 1,\n tension: 250,\n friction: 30,\n clamp: true\n },\n onStart: function onStart() {\n setActive(true);\n },\n onRest: function onRest() {\n var _a, _b;\n\n if (unmountedRef.current) return;\n setActive(props.visible);\n\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n }),\n opacity = _useSpring.opacity;\n\n var node = withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement(animated.div, {\n className: classPrefix,\n ref: ref,\n style: Object.assign(Object.assign({}, props.style), {\n background: background,\n opacity: opacity,\n display: active ? undefined : 'none'\n }),\n onClick: function onClick(e) {\n var _a;\n\n if (e.target === e.currentTarget) {\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n }\n }, props.onMaskClick && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-aria-button\"),\n role: 'button',\n \"aria-label\": locale.Mask.name,\n onClick: props.onMaskClick\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content\")\n }, props.children))));\n return /*#__PURE__*/React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import \"./mask.css\";\nimport { Mask } from './mask';\nexport default Mask;","import * as React from \"react\";\n\nfunction CloseOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-CloseOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.6085104,8.11754663 L24.1768397,21.8195031 L24.1768397,21.8195031 L37.7443031,8.1175556 C37.8194278,8.04168616 37.9217669,7.999 38.0285372,7.999 L41.1040268,7.999 C41.3249407,7.999 41.5040268,8.1780861 41.5040268,8.399 C41.5040268,8.50440471 41.4624226,8.60554929 41.3882578,8.68044752 L26.2773302,23.9408235 L26.2773302,23.9408235 L41.5021975,39.3175645 C41.65763,39.4745475 41.6563731,39.7278104 41.4993901,39.8832429 C41.4244929,39.9574004 41.3233534,39.999 41.2179546,39.999 L38.1434012,39.999 C38.0366291,39.999 37.9342885,39.9563124 37.8591634,39.8804408 L24.1768397,26.0621438 L24.1768397,26.0621438 L10.4936501,39.8804497 C10.4185257,39.9563159 10.3161889,39.999 10.2094212,39.999 L7.13584526,39.999 C6.91493136,39.999 6.73584526,39.8199139 6.73584526,39.599 C6.73584526,39.4936017 6.77744443,39.3924627 6.85160121,39.3175656 L22.0763492,23.9408235 L22.0763492,23.9408235 L6.96554081,8.68044639 C6.81010226,8.52346929 6.81134951,8.27020637 6.9683266,8.11476782 C7.04322474,8.04060377 7.14436883,7.999 7.24977299,7.999 L10.3242852,7.999 C10.4310511,7.999 10.5333863,8.04168267 10.6085104,8.11754663 Z\",\n id: \"CloseOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseOutline;","export var defaultPopupBaseProps = {\n closeOnMaskClick: false,\n destroyOnClose: false,\n disableBodyScroll: true,\n forceRender: false,\n getContainer: function getContainer() {\n return document.body;\n },\n mask: true,\n showCloseButton: false,\n stopPropagation: ['click'],\n visible: false\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useState } from 'react';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nexport function useInnerVisible(outerVisible) {\n var _useState = useState(outerVisible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n setInnerVisible = _useState2[1];\n\n useIsomorphicLayoutEffect(function () {\n setInnerVisible(outerVisible);\n }, [outerVisible]);\n return innerVisible;\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport classNames from 'classnames';\nimport React, { useState, useRef } from 'react';\nimport { useIsomorphicLayoutEffect, useUnmountedRef } from 'ahooks';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Mask from '../mask';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport { ShouldRender } from '../../utils/should-render';\nimport { CloseOutline } from 'antd-mobile-icons';\nimport { defaultPopupBaseProps } from './popup-base-props';\nimport { useInnerVisible } from '../../utils/use-inner-visible';\nvar classPrefix = \"adm-popup\";\nvar defaultProps = Object.assign(Object.assign({}, defaultPopupBaseProps), {\n position: 'bottom'\n});\nexport var Popup = function Popup(p) {\n var props = mergeProps(defaultProps, p);\n var bodyCls = classNames(\"\".concat(classPrefix, \"-body\"), props.bodyClassName, \"\".concat(classPrefix, \"-body-position-\").concat(props.position));\n\n var _useState = useState(props.visible),\n _useState2 = _slicedToArray(_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n\n useIsomorphicLayoutEffect(function () {\n if (props.visible) {\n setActive(true);\n }\n }, [props.visible]);\n var ref = useRef(null);\n useLockScroll(ref, props.disableBodyScroll && active ? 'strict' : false);\n var unmountedRef = useUnmountedRef();\n\n var _useSpring = useSpring({\n percent: props.visible ? 0 : 100,\n config: {\n precision: 0.1,\n mass: 0.4,\n tension: 300,\n friction: 30\n },\n onRest: function onRest() {\n var _a, _b;\n\n if (unmountedRef.current) return;\n setActive(props.visible);\n\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n }),\n percent = _useSpring.percent;\n\n var maskVisible = useInnerVisible(active && props.visible);\n var node = withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix,\n onClick: props.onClick,\n style: {\n display: active ? undefined : 'none'\n }\n }, props.mask && /*#__PURE__*/React.createElement(Mask, {\n visible: maskVisible,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose,\n onMaskClick: function onMaskClick(e) {\n var _a, _b;\n\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n\n if (props.closeOnMaskClick) {\n (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n },\n className: props.maskClassName,\n style: props.maskStyle,\n disableBodyScroll: false,\n stopPropagation: props.stopPropagation\n }), /*#__PURE__*/React.createElement(animated.div, {\n className: bodyCls,\n style: Object.assign(Object.assign({}, props.bodyStyle), {\n transform: percent.to(function (v) {\n if (props.position === 'bottom') {\n return \"translate(0, \".concat(v, \"%)\");\n }\n\n if (props.position === 'top') {\n return \"translate(0, -\".concat(v, \"%)\");\n }\n\n if (props.position === 'left') {\n return \"translate(-\".concat(v, \"%, 0)\");\n }\n\n if (props.position === 'right') {\n return \"translate(\".concat(v, \"%, 0)\");\n }\n\n return 'none';\n })\n }),\n ref: ref\n }, props.showCloseButton && /*#__PURE__*/React.createElement(\"a\", {\n className: classNames(\"\".concat(classPrefix, \"-close-icon\"), 'adm-plain-anchor'),\n onClick: function onClick() {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, /*#__PURE__*/React.createElement(CloseOutline, null)), props.children))));\n return /*#__PURE__*/React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import \"./popup.css\";\nimport { Popup } from './popup';\nexport default Popup;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useCallback, useState } from 'react';\n\nvar useUpdate = function useUpdate() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n setState = _useState2[1];\n\n return useCallback(function () {\n return setState({});\n }, []);\n};\n\nexport default useUpdate;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nexport var isObject = function isObject(value) {\n return value !== null && _typeof(value) === 'object';\n};\nexport var isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\nexport var isString = function isString(value) {\n return typeof value === 'string';\n};\nexport var isBoolean = function isBoolean(value) {\n return typeof value === 'boolean';\n};\nexport var isNumber = function isNumber(value) {\n return typeof value === 'number';\n};\nexport var isUndef = function isUndef(value) {\n return typeof value === 'undefined';\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { useMemo, useRef } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\n\nfunction useMemoizedFn(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMemoizedFn expected parameter is a function, got \".concat(_typeof(fn)));\n }\n }\n\n var fnRef = useRef(fn); // why not write `fnRef.current = fn`?\n // https://github.com/alibaba/hooks/issues/728\n\n fnRef.current = useMemo(function () {\n return fn;\n }, [fn]);\n var memoizedFn = useRef();\n\n if (!memoizedFn.current) {\n memoizedFn.current = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return fnRef.current.apply(this, args);\n };\n }\n\n return memoizedFn.current;\n}\n\nexport default useMemoizedFn;","import { useRef } from 'react';\nimport { useMemoizedFn, useUpdate } from 'ahooks';\nexport function usePropsValue(options) {\n var value = options.value,\n defaultValue = options.defaultValue,\n onChange = options.onChange;\n var update = useUpdate();\n var stateRef = useRef(value !== undefined ? value : defaultValue);\n\n if (value !== undefined) {\n stateRef.current = value;\n }\n\n var setState = useMemoizedFn(function (v) {\n var forceTrigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n // `forceTrigger` means trigger `onChange` even if `v` is the same as `stateRef.current`\n var nextValue = typeof v === 'function' ? v(stateRef.current) : v;\n if (!forceTrigger && nextValue === stateRef.current) return;\n stateRef.current = nextValue;\n update();\n return onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);\n });\n return [stateRef.current, setState];\n}","export function bound(position, min, max) {\n var ret = position;\n\n if (min !== undefined) {\n ret = Math.max(position, min);\n }\n\n if (max !== undefined) {\n ret = Math.min(ret, max);\n }\n\n return ret;\n}","import { useRef } from 'react';\n\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\n\nexport default useLatest;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { useEffect } from 'react';\nimport useLatest from '../useLatest';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\n\nvar useUnmount = function useUnmount(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useUnmount expected parameter is a function, got \".concat(_typeof(fn)));\n }\n }\n\n var fnRef = useLatest(fn);\n useEffect(function () {\n return function () {\n fnRef.current();\n };\n }, []);\n};\n\nexport default useUnmount;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport throttle from 'lodash/throttle';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\n\nfunction useThrottleFn(fn, options) {\n var _a;\n\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useThrottleFn expected parameter is a function, got \".concat(_typeof(fn)));\n }\n }\n\n var fnRef = useLatest(fn);\n var wait = (_a = options === null || options === void 0 ? void 0 : options.wait) !== null && _a !== void 0 ? _a : 1000;\n var throttled = useMemo(function () {\n return throttle(function () {\n return fnRef.current.apply(fnRef, arguments);\n }, wait, options);\n }, []);\n useUnmount(function () {\n throttled.cancel();\n });\n return {\n run: throttled,\n cancel: throttled.cancel,\n flush: throttled.flush\n };\n}\n\nexport default useThrottleFn;","import { useRef } from 'react';\nexport var createUpdateEffect = function createUpdateEffect(hook) {\n return function (effect, deps) {\n var isMounted = useRef(false); // for react-refresh\n\n hook(function () {\n return function () {\n isMounted.current = false;\n };\n }, []);\n hook(function () {\n if (!isMounted.current) {\n isMounted.current = true;\n } else {\n return effect();\n }\n }, deps);\n };\n};\nexport default createUpdateEffect;","import { createUpdateEffect, useIsomorphicLayoutEffect } from 'ahooks';\nexport var useIsomorphicUpdateLayoutEffect = createUpdateEffect(useIsomorphicLayoutEffect);","import React from 'react';\nimport { isFragment } from 'react-is';\nexport function traverseReactNode(children, fn) {\n var i = 0;\n\n function handle(target) {\n React.Children.forEach(target, function (child) {\n if (!isFragment(child)) {\n fn(child, i);\n i += 1;\n } else {\n handle(child.props.children);\n }\n });\n }\n\n handle(children);\n}","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport { useSpring, animated } from '@react-spring/web';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { bound } from '../../utils/bound';\nimport { useThrottleFn, useIsomorphicLayoutEffect } from 'ahooks';\nimport { useMutationEffect } from '../../utils/use-mutation-effect';\nimport { useResizeEffect } from '../../utils/use-resize-effect';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ShouldRender } from '../../utils/should-render';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nvar classPrefix = \"adm-tabs\";\nexport var Tab = function Tab() {\n return null;\n};\nvar defaultProps = {\n activeLineMode: 'auto',\n stretch: true\n};\nexport var Tabs = function Tabs(p) {\n var _a;\n\n var props = mergeProps(defaultProps, p);\n var tabListContainerRef = useRef(null);\n var activeLineRef = useRef(null);\n var keyToIndexRecord = {};\n var firstActiveKey = null;\n var panes = [];\n traverseReactNode(props.children, function (child, index) {\n if (! /*#__PURE__*/React.isValidElement(child)) return;\n var key = child.key;\n if (typeof key !== 'string') return;\n\n if (index === 0) {\n firstActiveKey = key;\n }\n\n var length = panes.push(child);\n keyToIndexRecord[key] = length - 1;\n });\n\n var _usePropsValue = usePropsValue({\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : firstActiveKey,\n onChange: function onChange(v) {\n var _a;\n\n if (v === null) return;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, v);\n }\n }),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n activeKey = _usePropsValue2[0],\n setActiveKey = _usePropsValue2[1];\n\n var _useSpring = useSpring(function () {\n return {\n x: 0,\n width: 0,\n config: {\n tension: 300,\n clamp: true\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n _useSpring2$ = _useSpring2[0],\n x = _useSpring2$.x,\n width = _useSpring2$.width,\n api = _useSpring2[1];\n\n var _useSpring3 = useSpring(function () {\n return {\n scrollLeft: 0,\n config: {\n tension: 300,\n clamp: true\n }\n };\n }),\n _useSpring4 = _slicedToArray(_useSpring3, 2),\n scrollLeft = _useSpring4[0].scrollLeft,\n scrollApi = _useSpring4[1];\n\n var _useSpring5 = useSpring(function () {\n return {\n leftMaskOpacity: 0,\n rightMaskOpacity: 0,\n config: {\n clamp: true\n }\n };\n }),\n _useSpring6 = _slicedToArray(_useSpring5, 2),\n _useSpring6$ = _useSpring6[0],\n leftMaskOpacity = _useSpring6$.leftMaskOpacity,\n rightMaskOpacity = _useSpring6$.rightMaskOpacity,\n maskApi = _useSpring6[1];\n\n function animate() {\n var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var container = tabListContainerRef.current;\n if (!container) return;\n var activeIndex = keyToIndexRecord[activeKey];\n\n if (activeIndex === undefined) {\n api.start({\n x: 0,\n width: 0,\n immediate: true\n });\n return;\n }\n\n var activeLine = activeLineRef.current;\n if (!activeLine) return;\n var activeTabWrapper = container.children.item(activeIndex + 1);\n var activeTab = activeTabWrapper.children.item(0);\n var activeTabLeft = activeTab.offsetLeft;\n var activeTabWidth = activeTab.offsetWidth;\n var activeTabWrapperLeft = activeTabWrapper.offsetLeft;\n var activeTabWrapperWidth = activeTabWrapper.offsetWidth;\n var containerWidth = container.offsetWidth;\n var containerScrollWidth = container.scrollWidth;\n var containerScrollLeft = container.scrollLeft;\n var activeLineWidth = activeLine.offsetWidth;\n var x = 0;\n var width = 0;\n\n if (props.activeLineMode === 'auto') {\n x = activeTabLeft;\n width = activeTabWidth;\n } else if (props.activeLineMode === 'full') {\n x = activeTabWrapperLeft;\n width = activeTabWrapperWidth;\n } else {\n x = activeTabLeft + (activeTabWidth - activeLineWidth) / 2;\n }\n\n api.start({\n x: x,\n width: width,\n immediate: immediate\n });\n var maxScrollDistance = containerScrollWidth - containerWidth;\n if (maxScrollDistance <= 0) return;\n var nextScrollLeft = bound(activeTabLeft - (containerWidth - activeTabWidth) / 2, 0, containerScrollWidth - containerWidth);\n scrollApi.start({\n scrollLeft: nextScrollLeft,\n from: {\n scrollLeft: containerScrollLeft\n },\n immediate: immediate\n });\n }\n\n useIsomorphicLayoutEffect(function () {\n animate(!x.isAnimating);\n }, []);\n useIsomorphicUpdateLayoutEffect(function () {\n animate();\n }, [activeKey]);\n useResizeEffect(function () {\n animate(!x.isAnimating);\n }, tabListContainerRef);\n useMutationEffect(function () {\n animate(!x.isAnimating);\n }, tabListContainerRef, {\n subtree: true,\n childList: true,\n characterData: true\n });\n\n var _useThrottleFn = useThrottleFn(function () {\n var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var container = tabListContainerRef.current;\n if (!container) return;\n var scrollLeft = container.scrollLeft;\n var showLeftMask = scrollLeft > 0;\n var showRightMask = scrollLeft + container.offsetWidth < container.scrollWidth;\n maskApi.start({\n leftMaskOpacity: showLeftMask ? 1 : 0,\n rightMaskOpacity: showRightMask ? 1 : 0,\n immediate: immediate\n });\n }, {\n wait: 100,\n trailing: true,\n leading: true\n }),\n updateMask = _useThrottleFn.run;\n\n useIsomorphicLayoutEffect(function () {\n updateMask(true);\n }, []);\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-header\")\n }, /*#__PURE__*/React.createElement(animated.div, {\n className: classNames(\"\".concat(classPrefix, \"-header-mask\"), \"\".concat(classPrefix, \"-header-mask-left\")),\n style: {\n opacity: leftMaskOpacity\n }\n }), /*#__PURE__*/React.createElement(animated.div, {\n className: classNames(\"\".concat(classPrefix, \"-header-mask\"), \"\".concat(classPrefix, \"-header-mask-right\")),\n style: {\n opacity: rightMaskOpacity\n }\n }), /*#__PURE__*/React.createElement(animated.div, {\n className: \"\".concat(classPrefix, \"-tab-list\"),\n ref: tabListContainerRef,\n scrollLeft: scrollLeft,\n onScroll: updateMask\n }, /*#__PURE__*/React.createElement(animated.div, {\n ref: activeLineRef,\n className: \"\".concat(classPrefix, \"-tab-line\"),\n style: {\n width: props.activeLineMode === 'fixed' ? 'var(--fixed-active-line-width, 30px)' : width,\n x: x\n }\n }), panes.map(function (pane) {\n var _classNames2;\n\n return withNativeProps(pane.props, /*#__PURE__*/React.createElement(\"div\", {\n key: pane.key,\n className: classNames(\"\".concat(classPrefix, \"-tab-wrapper\"), _defineProperty({}, \"\".concat(classPrefix, \"-tab-wrapper-stretch\"), props.stretch))\n }, /*#__PURE__*/React.createElement(\"div\", {\n onClick: function onClick() {\n var key = pane.key;\n if (pane.props.disabled) return;\n\n if (key === undefined || key === null) {\n return;\n }\n\n setActiveKey(key.toString());\n },\n className: classNames(\"\".concat(classPrefix, \"-tab\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(classPrefix, \"-tab-active\"), pane.key === activeKey), _defineProperty(_classNames2, \"\".concat(classPrefix, \"-tab-disabled\"), pane.props.disabled), _classNames2))\n }, pane.props.title)));\n }))), panes.map(function (pane) {\n if (pane.props.children === undefined) {\n return null;\n }\n\n var active = pane.key === activeKey;\n return /*#__PURE__*/React.createElement(ShouldRender, {\n key: pane.key,\n active: active,\n forceRender: pane.props.forceRender,\n destroyOnClose: pane.props.destroyOnClose\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content\"),\n style: {\n display: active ? 'block' : 'none'\n }\n }, pane.props.children));\n })));\n};","export function attachPropertiesToComponent(component, properties) {\n var ret = component;\n\n for (var key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n\n return ret;\n}","import \"./tabs.css\";\nimport { Tab, Tabs } from './tabs';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Tabs, {\n Tab: Tab\n});","import { useIsomorphicLayoutEffect, useMemoizedFn } from 'ahooks';\nexport function useResizeEffect(effect, targetRef) {\n var fn = useMemoizedFn(effect);\n useIsomorphicLayoutEffect(function () {\n var target = targetRef.current;\n if (!target) return;\n\n if (window.ResizeObserver) {\n var animationFrame;\n var observer = new ResizeObserver(function () {\n animationFrame = window.requestAnimationFrame(function () {\n return fn(target);\n });\n });\n observer.observe(target);\n return function () {\n window.cancelAnimationFrame(animationFrame);\n observer.disconnect();\n };\n } else {\n fn(target);\n }\n }, [targetRef]);\n}","import { useEffect } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nexport function useMutationEffect(effect, targetRef, options) {\n var fn = useMemoizedFn(effect);\n useEffect(function () {\n var observer = new MutationObserver(function () {\n fn();\n });\n if (!targetRef.current) return;\n observer.observe(targetRef.current, options);\n return function () {\n observer.disconnect();\n };\n }, [targetRef]);\n}","import React, { forwardRef, useImperativeHandle, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nvar classPrefix = \"adm-list\";\nvar defaultProps = {\n mode: 'default'\n};\nexport var List = /*#__PURE__*/forwardRef(function (p, ref) {\n var props = mergeProps(defaultProps, p);\n var nativeElementRef = useRef(null);\n useImperativeHandle(ref, function () {\n return {\n get nativeElement() {\n return nativeElementRef.current;\n }\n\n };\n });\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(classPrefix, \"\".concat(classPrefix, \"-\").concat(props.mode)),\n ref: nativeElementRef\n }, props.header && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-header\")\n }, props.header), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-body\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-body-inner\")\n }, props.children))));\n});","import * as React from \"react\";\n\nfunction RightOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"RightOutline-RightOutlined\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"RightOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3947957,5.11219264 L35.5767382,22.6612572 L35.5767382,22.6612572 C36.1304785,23.2125856 36.1630514,24.0863155 35.6744571,24.6755735 L35.5767382,24.7825775 L17.3956061,42.8834676 C17.320643,42.9580998 17.2191697,43 17.1133896,43 L13.9866673,43 C13.7657534,43 13.5866673,42.8209139 13.5866673,42.6 C13.5866673,42.4936115 13.6290496,42.391606 13.7044413,42.316542 L32.3201933,23.7816937 L32.3201933,23.7816937 L13.7237117,5.6866816 C13.5653818,5.53262122 13.5619207,5.27937888 13.7159811,5.121049 C13.7912854,5.04365775 13.8946805,5 14.0026627,5 L17.1170064,5 C17.2206403,5 17.3202292,5.04022164 17.3947957,5.11219264 Z\",\n id: \"RightOutline-right\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default RightOutline;","export function isNodeWithContent(node) {\n return node !== undefined && node !== null && node !== false;\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { RightOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport { isNodeWithContent } from '../../utils/is-node-with-content';\nvar classPrefix = \"adm-list-item\";\nexport var ListItem = function ListItem(props) {\n var _a;\n\n var clickable = (_a = props.clickable) !== null && _a !== void 0 ? _a : !!props.onClick;\n var arrow = props.arrow === undefined ? clickable : props.arrow;\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content\")\n }, isNodeWithContent(props.prefix) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content-prefix\")\n }, props.prefix), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content-main\")\n }, isNodeWithContent(props.title) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-title\")\n }, props.title), props.children, isNodeWithContent(props.description) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-description\")\n }, props.description)), isNodeWithContent(props.extra) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content-extra\")\n }, props.extra), isNodeWithContent(arrow) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content-arrow\")\n }, arrow === true ? /*#__PURE__*/React.createElement(RightOutline, null) : arrow));\n return withNativeProps(props, /*#__PURE__*/React.createElement(clickable ? 'a' : 'div', {\n className: classNames(\"\".concat(classPrefix), clickable ? ['adm-plain-anchor'] : [], props.disabled && \"\".concat(classPrefix, \"-disabled\")),\n onClick: props.disabled ? undefined : props.onClick\n }, content));\n};","import \"./list.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { List } from './list';\nimport { ListItem } from './list-item';\nexport default attachPropertiesToComponent(List, {\n Item: ListItem\n});","import { createContext } from 'react';\nexport var CheckListContext = /*#__PURE__*/createContext(null);","import * as React from \"react\";\n\nfunction CheckOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CheckOutline-CheckOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CheckOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CheckOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.309608,12.6841286 L21.2180499,35.5661955 L21.2180499,35.5661955 C20.6343343,36.1446015 19.6879443,36.1446015 19.1042286,35.5661955 C19.0538201,35.5162456 19.0077648,35.4636155 18.9660627,35.4087682 C18.9113105,35.368106 18.8584669,35.3226694 18.808302,35.2729607 L3.6903839,20.2920499 C3.53346476,20.1365529 3.53231192,19.8832895 3.68780898,19.7263704 C3.7629255,19.6505669 3.86521855,19.6079227 3.97193622,19.6079227 L7.06238923,19.6079227 C7.16784214,19.6079227 7.26902895,19.6495648 7.34393561,19.7237896 L20.160443,32.4236157 L20.160443,32.4236157 L40.656066,12.115858 C40.7309719,12.0416387 40.8321549,12 40.9376034,12 L44.0280571,12 C44.248971,12 44.4280571,12.1790861 44.4280571,12.4 C44.4280571,12.5067183 44.3854124,12.609012 44.309608,12.6841286 Z\",\n id: \"CheckOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CheckOutline;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport List from '../list';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { CheckListContext } from './context';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { CheckOutline } from 'antd-mobile-icons';\nvar classPrefix = 'adm-check-list';\nvar defaultProps = {\n multiple: false,\n defaultValue: [],\n activeIcon: /*#__PURE__*/React.createElement(CheckOutline, null)\n};\nexport var CheckList = function CheckList(p) {\n var props = mergeProps(defaultProps, p);\n\n var _usePropsValue = usePropsValue(props),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n value = _usePropsValue2[0],\n setValue = _usePropsValue2[1];\n\n function check(val) {\n if (props.multiple) {\n setValue([].concat(_toConsumableArray(value), [val]));\n } else {\n setValue([val]);\n }\n }\n\n function uncheck(val) {\n setValue(value.filter(function (item) {\n return item !== val;\n }));\n }\n\n var activeIcon = props.activeIcon,\n disabled = props.disabled,\n readOnly = props.readOnly;\n return /*#__PURE__*/React.createElement(CheckListContext.Provider, {\n value: {\n value: value,\n check: check,\n uncheck: uncheck,\n activeIcon: activeIcon,\n disabled: disabled,\n readOnly: readOnly\n }\n }, withNativeProps(props, /*#__PURE__*/React.createElement(List, {\n mode: props.mode,\n className: classPrefix\n }, props.children)));\n};","import React, { useContext } from 'react';\nimport List from '../list';\nimport { withNativeProps } from '../../utils/native-props';\nimport { CheckListContext } from './context';\nimport { devWarning } from '../../utils/dev-log';\nimport classNames from 'classnames';\nvar classPrefix = \"adm-check-list-item\";\nexport var CheckListItem = function CheckListItem(props) {\n var context = useContext(CheckListContext);\n\n if (context === null) {\n devWarning('CheckList.Item', 'CheckList.Item can only be used inside CheckList.');\n return null;\n }\n\n var active = context.value.includes(props.value);\n var readOnly = props.readOnly || context.readOnly;\n var extra = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-extra\")\n }, active ? context.activeIcon : null);\n return withNativeProps(props, /*#__PURE__*/React.createElement(List.Item, {\n title: props.title,\n className: classNames(classPrefix, readOnly && \"\".concat(classPrefix, \"-readonly\"), active && \"\".concat(classPrefix, \"-active\")),\n description: props.description,\n prefix: props.prefix,\n onClick: function onClick(e) {\n var _a;\n\n if (readOnly) return;\n\n if (active) {\n context.uncheck(props.value);\n } else {\n context.check(props.value);\n }\n\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n arrow: false,\n clickable: !readOnly,\n extra: extra,\n disabled: props.disabled || context.disabled\n }, props.children));\n};","import \"./check-list.css\";\nimport { CheckList } from './check-list';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { CheckListItem } from './check-list-item';\nexport default attachPropertiesToComponent(CheckList, {\n Item: CheckListItem\n});","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { useMemo } from 'react';\nimport memoize from 'lodash/memoize';\nexport function useCascaderValueExtend(options) {\n var generateItems = useMemo(function () {\n return memoize(function (val) {\n var ret = [];\n var currentOptions = options;\n\n var _iterator = _createForOfIteratorHelper(val),\n _step;\n\n try {\n var _loop = function _loop() {\n var v = _step.value;\n var target = currentOptions.find(function (option) {\n return option.value === v;\n });\n\n if (!target) {\n return \"break\";\n }\n\n ret.push(target);\n if (!target.children) return \"break\";\n currentOptions = target.children;\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return ret;\n }, function (val) {\n return JSON.stringify(val);\n });\n }, [options]);\n var generateIsLeaf = useMemo(function () {\n return memoize(function (val) {\n var children = val.reduce(function (currentOptions, v) {\n var _a;\n\n return ((_a = currentOptions.find(function (option) {\n return option.value === v;\n })) === null || _a === void 0 ? void 0 : _a.children) || [];\n }, options);\n return children.length === 0;\n }, function (val) {\n return JSON.stringify(val);\n });\n }, [options]);\n\n function generateValueExtend(val) {\n return {\n get items() {\n return generateItems(val);\n },\n\n get isLeaf() {\n return generateIsLeaf(val);\n }\n\n };\n }\n\n return generateValueExtend;\n}","export var optionSkeleton = [];","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nimport { generateIntArray } from '../../utils/generate-int-array';\nimport { mergeProps } from '../../utils/with-default-props';\nvar classPrefix = 'adm-skeleton';\nexport var Skeleton = function Skeleton(props) {\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(classPrefix, _defineProperty({}, \"\".concat(classPrefix, \"-animated\"), props.animated))\n }));\n};\nexport var SkeletonTitle = function SkeletonTitle(props) {\n return withNativeProps(props, /*#__PURE__*/React.createElement(Skeleton, {\n animated: props.animated,\n className: \"\".concat(classPrefix, \"-title\")\n }));\n};\nvar defaultSkeletonParagraphProps = {\n lineCount: 3\n};\nexport var SkeletonParagraph = function SkeletonParagraph(p) {\n var props = mergeProps(defaultSkeletonParagraphProps, p);\n var keys = generateIntArray(1, props.lineCount);\n var node = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-paragraph\")\n }, keys.map(function (key) {\n return /*#__PURE__*/React.createElement(Skeleton, {\n key: key,\n animated: props.animated,\n className: \"\".concat(classPrefix, \"-paragraph-line\")\n });\n }));\n return withNativeProps(props, node);\n};","import \"./skeleton.css\";\nimport { Skeleton, SkeletonParagraph, SkeletonTitle } from './skeleton';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nexport default attachPropertiesToComponent(Skeleton, {\n Title: SkeletonTitle,\n Paragraph: SkeletonParagraph\n});","export function generateIntArray(from, to) {\n var array = [];\n\n for (var i = from; i <= to; i++) {\n array.push(i);\n }\n\n return array;\n}","import { useEffect } from 'react';\nimport { createUpdateEffect } from '../createUpdateEffect';\nexport default createUpdateEffect(useEffect);","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useState, useEffect, useMemo } from 'react';\nimport classNames from 'classnames';\nimport Tabs from '../tabs';\nimport CheckList from '../check-list';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useCascaderValueExtend } from './use-cascader-value-extend';\nimport { useConfig } from '../config-provider';\nimport { optionSkeleton } from './option-skeleton';\nimport Skeleton from '../skeleton';\nimport { useUpdateEffect } from 'ahooks';\nvar classPrefix = \"adm-cascader-view\";\nvar defaultProps = {\n defaultValue: []\n};\nexport var CascaderView = function CascaderView(p) {\n var _useConfig = useConfig(),\n locale = _useConfig.locale;\n\n var props = mergeProps(defaultProps, p);\n var placeholder = props.placeholder || locale.Cascader.placeholder;\n\n var _usePropsValue = usePropsValue(Object.assign(Object.assign({}, props), {\n onChange: function onChange(val) {\n var _a;\n\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));\n }\n })),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n value = _usePropsValue2[0],\n setValue = _usePropsValue2[1];\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n tabActiveIndex = _useState2[0],\n setTabActiveIndex = _useState2[1];\n\n useUpdateEffect(function () {\n var _a;\n\n (_a = props.onTabsChange) === null || _a === void 0 ? void 0 : _a.call(props, tabActiveIndex);\n }, [tabActiveIndex]);\n var generateValueExtend = useCascaderValueExtend(props.options);\n var levels = useMemo(function () {\n var ret = [];\n var currentOptions = props.options;\n var reachedEnd = false;\n\n var _iterator = _createForOfIteratorHelper(value),\n _step;\n\n try {\n var _loop = function _loop() {\n var v = _step.value;\n var target = currentOptions.find(function (option) {\n return option.value === v;\n });\n ret.push({\n selected: target,\n options: currentOptions\n });\n\n if (!target || !target.children) {\n reachedEnd = true;\n return \"break\";\n }\n\n currentOptions = target.children;\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (!reachedEnd) {\n ret.push({\n selected: undefined,\n options: currentOptions\n });\n }\n\n return ret;\n }, [value, props.options]);\n useEffect(function () {\n setTabActiveIndex(levels.length - 1);\n }, [value]);\n useEffect(function () {\n var max = levels.length - 1;\n\n if (tabActiveIndex > max) {\n setTabActiveIndex(max);\n }\n }, [tabActiveIndex, levels]);\n\n var onItemSelect = function onItemSelect(selectValue, depth) {\n var next = value.slice(0, depth);\n\n if (selectValue !== undefined) {\n next[depth] = selectValue;\n }\n\n setValue(next);\n };\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(Tabs, {\n activeKey: tabActiveIndex.toString(),\n onChange: function onChange(key) {\n var activeIndex = parseInt(key);\n setTabActiveIndex(activeIndex);\n },\n stretch: false,\n className: \"\".concat(classPrefix, \"-tabs\")\n }, levels.map(function (level, index) {\n var selected = level.selected;\n return /*#__PURE__*/React.createElement(Tabs.Tab, {\n key: index.toString(),\n title: /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-header-title\")\n }, selected ? selected.label : typeof placeholder === 'function' ? placeholder(index) : placeholder),\n forceRender: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-content\")\n }, level.options === optionSkeleton ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-skeleton\")\n }, /*#__PURE__*/React.createElement(Skeleton, {\n className: \"\".concat(classPrefix, \"-skeleton-line-1\"),\n animated: true\n }), /*#__PURE__*/React.createElement(Skeleton, {\n className: \"\".concat(classPrefix, \"-skeleton-line-2\"),\n animated: true\n }), /*#__PURE__*/React.createElement(Skeleton, {\n className: \"\".concat(classPrefix, \"-skeleton-line-3\"),\n animated: true\n }), /*#__PURE__*/React.createElement(Skeleton, {\n className: \"\".concat(classPrefix, \"-skeleton-line-4\"),\n animated: true\n })) : /*#__PURE__*/React.createElement(CheckList, {\n value: [value[index]],\n onChange: function onChange(selectValue) {\n return onItemSelect(selectValue[0], index);\n },\n activeIcon: props.activeIcon\n }, level.options.map(function (option) {\n var active = value[index] === option.value;\n return /*#__PURE__*/React.createElement(CheckList.Item, {\n value: option.value,\n key: option.value,\n disabled: option.disabled,\n className: classNames(\"\".concat(classPrefix, \"-item\"), _defineProperty({}, \"\".concat(classPrefix, \"-item-active\"), active))\n }, option.label);\n }))));\n }))));\n};","import \"./cascader-view.css\";\nimport { CascaderView } from './cascader-view';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { optionSkeleton } from './option-skeleton';\nexport default attachPropertiesToComponent(CascaderView, {\n optionSkeleton: optionSkeleton\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport Popup from '../popup';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport CascaderView from '../cascader-view';\nimport { useConfig } from '../config-provider';\nimport { useCascaderValueExtend } from '../cascader-view/use-cascader-value-extend';\nvar classPrefix = \"adm-cascader\";\nvar defaultProps = {\n defaultValue: [],\n destroyOnClose: true,\n forceRender: false\n};\nexport var Cascader = /*#__PURE__*/forwardRef(function (p, ref) {\n var _a;\n\n var _useConfig = useConfig(),\n locale = _useConfig.locale;\n\n var props = mergeProps(defaultProps, {\n confirmText: locale.common.confirm,\n cancelText: locale.common.cancel,\n placeholder: locale.Cascader.placeholder\n }, p);\n\n var _usePropsValue = usePropsValue({\n value: props.visible,\n defaultValue: false,\n onChange: function onChange(v) {\n var _a;\n\n if (v === false) {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n }),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n visible = _usePropsValue2[0],\n setVisible = _usePropsValue2[1];\n\n var actions = {\n toggle: function toggle() {\n setVisible(function (v) {\n return !v;\n });\n },\n open: function open() {\n setVisible(true);\n },\n close: function close() {\n setVisible(false);\n }\n };\n useImperativeHandle(ref, function () {\n return actions;\n });\n\n var _usePropsValue3 = usePropsValue(Object.assign(Object.assign({}, props), {\n onChange: function onChange(val) {\n var _a;\n\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));\n }\n })),\n _usePropsValue4 = _slicedToArray(_usePropsValue3, 2),\n value = _usePropsValue4[0],\n setValue = _usePropsValue4[1];\n\n var generateValueExtend = useCascaderValueExtend(props.options);\n\n var _useState = useState(value),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n\n useEffect(function () {\n if (!visible) {\n setInnerValue(value);\n }\n }, [visible]);\n useEffect(function () {\n if (!visible) {\n setInnerValue(value);\n }\n }, [value]);\n var cascaderElement = withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-header\")\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(classPrefix, \"-header-button\"),\n onClick: function onClick() {\n var _a;\n\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n }\n }, props.cancelText), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-header-title\")\n }, props.title), /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(classPrefix, \"-header-button\"),\n onClick: function onClick() {\n setValue(innerValue, true);\n setVisible(false);\n }\n }, props.confirmText)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-body\")\n }, /*#__PURE__*/React.createElement(CascaderView, Object.assign({}, props, {\n value: innerValue,\n onChange: function onChange(val, ext) {\n var _a;\n\n setInnerValue(val);\n\n if (visible) {\n (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, val, ext);\n }\n }\n })))));\n var popupElement = /*#__PURE__*/React.createElement(Popup, {\n visible: visible,\n position: 'bottom',\n onMaskClick: function onMaskClick() {\n var _a;\n\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n },\n getContainer: props.getContainer,\n destroyOnClose: props.destroyOnClose,\n forceRender: props.forceRender,\n afterShow: props.afterShow,\n afterClose: props.afterClose,\n onClick: props.onClick,\n stopPropagation: props.stopPropagation\n }, cascaderElement);\n return /*#__PURE__*/React.createElement(React.Fragment, null, popupElement, (_a = props.children) === null || _a === void 0 ? void 0 : _a.call(props, generateValueExtend(value).items, actions));\n});","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { __awaiter } from \"tslib\";\nimport * as ReactDOM from 'react-dom'; // Let compiler not to search module usage\n\nvar fullClone = Object.assign({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\n\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n\n if (mainVersion >= 18 && fullClone.createRoot) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n createRoot = fullClone.createRoot;\n }\n} catch (e) {// Do nothing;\n}\n\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\n\nvar MARK = '__antd_mobile_root__';\n\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\nfunction concurrentRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\n\nexport function render(node, container) {\n if (createRoot) {\n concurrentRender(node, container);\n return;\n }\n\n legacyRender(node, container);\n} // ========================== Unmount =========================\n\nfunction legacyUnmount(container) {\n return unmountComponentAtNode(container);\n}\n\nfunction concurrentUnmount(container) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _a;\n\n (_a = container[MARK]) === null || _a === void 0 ? void 0 : _a.unmount();\n delete container[MARK];\n }));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n}\n\nexport function unmount(container) {\n if (createRoot) {\n return concurrentUnmount(container);\n }\n\n return legacyUnmount(container);\n}","import { render, unmount as reactUnmount } from './render';\nexport function renderToBody(element) {\n var container = document.createElement('div');\n document.body.appendChild(container);\n\n function unmount() {\n var unmountResult = reactUnmount(container);\n\n if (unmountResult && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n\n render(element, container);\n return unmount;\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useEffect, useState } from 'react';\nimport { renderToBody } from '../../utils/render-to-body';\nimport { Cascader } from './cascader';\nexport function prompt(props) {\n return new Promise(function (resolve) {\n var Wrapper = function Wrapper() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n\n useEffect(function () {\n setVisible(true);\n }, []);\n return /*#__PURE__*/React.createElement(Cascader, Object.assign({}, props, {\n visible: visible,\n onConfirm: function onConfirm(val, extend) {\n var _a;\n\n (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, extend);\n resolve(val);\n },\n onClose: function onClose() {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n setVisible(false);\n resolve(null);\n },\n afterClose: function afterClose() {\n var _a;\n\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n unmount();\n }\n }));\n };\n\n var unmount = renderToBody( /*#__PURE__*/React.createElement(Wrapper, null));\n });\n}","import { Cascader } from './cascader';\nimport { prompt } from './prompt';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport \"./cascader.css\";\nimport { optionSkeleton } from '../cascader-view/option-skeleton';\nexport default attachPropertiesToComponent(Cascader, {\n prompt: prompt,\n optionSkeleton: optionSkeleton\n});","import * as React from \"react\";\n\nfunction DownOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"DownOutline-DownOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"DownOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.11219264,16.3947957 L22.6612572,34.5767382 L22.6612572,34.5767382 C23.2125856,35.1304785 24.0863155,35.1630514 24.6755735,34.6744571 L24.7825775,34.5767382 L42.8834676,16.3956061 C42.9580998,16.320643 43,16.2191697 43,16.1133896 L43,12.9866673 C43,12.7657534 42.8209139,12.5866673 42.6,12.5866673 C42.4936115,12.5866673 42.391606,12.6290496 42.316542,12.7044413 L23.7816937,31.3201933 L23.7816937,31.3201933 L5.6866816,12.7237117 C5.53262122,12.5653818 5.27937888,12.5619207 5.121049,12.7159811 C5.04365775,12.7912854 5,12.8946805 5,13.0026627 L5,16.1170064 C5,16.2206403 5.04022164,16.3202292 5.11219264,16.3947957 Z\",\n id: \"DownOutline-down\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default DownOutline;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { useEffect } from 'react';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\n\nvar useMount = function useMount(fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useMount: parameter `fn` expected to be a function, but got \\\"\".concat(_typeof(fn), \"\\\".\"));\n }\n }\n\n useEffect(function () {\n fn === null || fn === void 0 ? void 0 : fn();\n }, []);\n};\n\nexport default useMount;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useRef } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport List from '../list';\nimport { DownOutline } from 'antd-mobile-icons';\nimport classNames from 'classnames';\nimport { useSpring, animated } from '@react-spring/web';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { useMount } from 'ahooks';\nimport { useShouldRender } from '../../utils/should-render';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { traverseReactNode } from '../../utils/traverse-react-node';\nvar classPrefix = \"adm-collapse\";\nexport var CollapsePanel = function CollapsePanel() {\n return null;\n};\n\nvar CollapsePanelContent = function CollapsePanelContent(props) {\n var visible = props.visible;\n var innerRef = useRef(null);\n var shouldRender = useShouldRender(visible, props.forceRender, props.destroyOnClose);\n\n var _useSpring = useSpring(function () {\n return {\n from: {\n height: 0\n },\n config: {\n precision: 0.01,\n mass: 1,\n tension: 200,\n friction: 25,\n clamp: true\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n height = _useSpring2[0].height,\n api = _useSpring2[1];\n\n useMount(function () {\n if (!visible) return;\n var inner = innerRef.current;\n if (!inner) return;\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n });\n useIsomorphicUpdateLayoutEffect(function () {\n var inner = innerRef.current;\n if (!inner) return;\n\n if (visible) {\n api.start({\n height: inner.offsetHeight\n });\n } else {\n api.start({\n height: inner.offsetHeight,\n immediate: true\n });\n api.start({\n height: 0\n });\n }\n }, [visible]);\n return /*#__PURE__*/React.createElement(animated.div, {\n className: \"\".concat(classPrefix, \"-panel-content\"),\n style: {\n height: height.to(function (v) {\n if (height.idle && visible) {\n return 'auto';\n } else {\n return v;\n }\n })\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-panel-content-inner\"),\n ref: innerRef\n }, /*#__PURE__*/React.createElement(List.Item, null, shouldRender && props.children)));\n};\n\nexport var Collapse = function Collapse(props) {\n var _a;\n\n var panels = [];\n traverseReactNode(props.children, function (child) {\n if (! /*#__PURE__*/React.isValidElement(child)) return;\n var key = child.key;\n if (typeof key !== 'string') return;\n panels.push(child);\n });\n\n var _usePropsValue = usePropsValue(props.accordion ? {\n value: props.activeKey === undefined ? undefined : props.activeKey === null ? [] : [props.activeKey],\n defaultValue: props.defaultActiveKey === undefined || props.defaultActiveKey === null ? [] : [props.defaultActiveKey],\n onChange: function onChange(v) {\n var _a, _b;\n\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, (_b = v[0]) !== null && _b !== void 0 ? _b : null);\n }\n } : {\n value: props.activeKey,\n defaultValue: (_a = props.defaultActiveKey) !== null && _a !== void 0 ? _a : [],\n onChange: props.onChange\n }),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n activeKey = _usePropsValue2[0],\n setActiveKey = _usePropsValue2[1];\n\n var activeKeyList = activeKey === null ? [] : Array.isArray(activeKey) ? activeKey : [activeKey];\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(List, null, panels.map(function (panel) {\n var key = panel.key;\n var active = activeKeyList.includes(key);\n\n function handleClick(event) {\n var _a, _b;\n\n if (props.accordion) {\n if (active) {\n setActiveKey([]);\n } else {\n setActiveKey([key]);\n }\n } else {\n if (active) {\n setActiveKey(activeKeyList.filter(function (v) {\n return v !== key;\n }));\n } else {\n setActiveKey([].concat(_toConsumableArray(activeKeyList), [key]));\n }\n }\n\n (_b = (_a = panel.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n\n var renderArrow = function renderArrow() {\n var arrow = /*#__PURE__*/React.createElement(DownOutline, null);\n\n if (props.arrow !== undefined) {\n arrow = props.arrow;\n }\n\n if (panel.props.arrow !== undefined) {\n arrow = panel.props.arrow;\n }\n\n return typeof arrow === 'function' ? arrow(active) : /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(classPrefix, \"-arrow\"), _defineProperty({}, \"\".concat(classPrefix, \"-arrow-active\"), active))\n }, arrow);\n };\n\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, withNativeProps(panel.props, /*#__PURE__*/React.createElement(List.Item, {\n className: \"\".concat(classPrefix, \"-panel-header\"),\n onClick: handleClick,\n disabled: panel.props.disabled,\n arrow: renderArrow()\n }, panel.props.title)), /*#__PURE__*/React.createElement(CollapsePanelContent, {\n visible: active,\n forceRender: !!panel.props.forceRender,\n destroyOnClose: !!panel.props.destroyOnClose\n }, panel.props.children));\n }))));\n};","import \"./collapse.css\";\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Collapse, CollapsePanel } from './collapse';\nexport default attachPropertiesToComponent(Collapse, {\n Panel: CollapsePanel\n});","import { ConfigProvider } from './config-provider';\nexport { useConfig, setDefaultConfig, getDefaultConfig } from './config-provider';\nexport default ConfigProvider;","import React from 'react';\nimport classNames from 'classnames';\nimport Button from '../button';\nimport { withNativeProps } from '../../utils/native-props';\nexport var DialogActionButton = function DialogActionButton(props) {\n var action = props.action;\n return withNativeProps(props.action, /*#__PURE__*/React.createElement(Button, {\n key: action.key,\n onClick: props.onAction,\n className: classNames('adm-dialog-button', {\n 'adm-dialog-button-bold': action.bold\n }),\n fill: 'none',\n shape: 'rectangular',\n block: true,\n color: action.danger ? 'danger' : 'primary',\n loading: 'auto',\n disabled: action.disabled\n }, action.text));\n};","export function toCSSLength(val) {\n return typeof val === 'number' ? \"\".concat(val, \"px\") : val;\n}","import { isFunction } from './index';\nimport isBrowser from './isBrowser';\nexport function getTargetElement(target, defaultElement) {\n if (!isBrowser) {\n return undefined;\n }\n\n if (!target) {\n return defaultElement;\n }\n\n var targetElement;\n\n if (isFunction(target)) {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}","export default function depsAreSame(oldDeps, deps) {\n if (oldDeps === deps) return true;\n\n for (var i = 0; i < oldDeps.length; i++) {\n if (!Object.is(oldDeps[i], deps[i])) return false;\n }\n\n return true;\n}","import { useRef } from 'react';\nimport useUnmount from '../useUnmount';\nimport depsAreSame from './depsAreSame';\nimport { getTargetElement } from './domTarget';\n\nvar createEffectWithTarget = function createEffectWithTarget(useEffectType) {\n /**\n *\n * @param effect\n * @param deps\n * @param target target should compare ref.current vs ref.current, dom vs dom, ()=>dom vs ()=>dom\n */\n var useEffectWithTarget = function useEffectWithTarget(effect, deps, target) {\n var hasInitRef = useRef(false);\n var lastElementRef = useRef([]);\n var lastDepsRef = useRef([]);\n var unLoadRef = useRef();\n useEffectType(function () {\n var _a;\n\n var targets = Array.isArray(target) ? target : [target];\n var els = targets.map(function (item) {\n return getTargetElement(item);\n }); // init run\n\n if (!hasInitRef.current) {\n hasInitRef.current = true;\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n return;\n }\n\n if (els.length !== lastElementRef.current.length || !depsAreSame(els, lastElementRef.current) || !depsAreSame(deps, lastDepsRef.current)) {\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef);\n lastElementRef.current = els;\n lastDepsRef.current = deps;\n unLoadRef.current = effect();\n }\n });\n useUnmount(function () {\n var _a;\n\n (_a = unLoadRef.current) === null || _a === void 0 ? void 0 : _a.call(unLoadRef); // for react-refresh\n\n hasInitRef.current = false;\n });\n };\n\n return useEffectWithTarget;\n};\n\nexport default createEffectWithTarget;","import { useEffect } from 'react';\nimport createEffectWithTarget from './createEffectWithTarget';\nvar useEffectWithTarget = createEffectWithTarget(useEffect);\nexport default useEffectWithTarget;","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport 'intersection-observer';\nimport { useState } from 'react';\nimport { getTargetElement } from '../utils/domTarget';\nimport useEffectWithTarget from '../utils/useEffectWithTarget';\n\nfunction useInViewport(target, options) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n ratio = _useState4[0],\n setRatio = _useState4[1];\n\n useEffectWithTarget(function () {\n var el = getTargetElement(target);\n\n if (!el) {\n return;\n }\n\n var observer = new IntersectionObserver(function (entries) {\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n setRatio(entry.intersectionRatio);\n setState(entry.isIntersecting);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }, Object.assign(Object.assign({}, options), {\n root: getTargetElement(options === null || options === void 0 ? void 0 : options.root)\n }));\n observer.observe(el);\n return function () {\n observer.disconnect();\n };\n }, [options === null || options === void 0 ? void 0 : options.rootMargin, options === null || options === void 0 ? void 0 : options.threshold], target);\n return [state, ratio];\n}\n\nexport default useInViewport;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useEffect, useRef } from 'react';\nimport { useInViewport } from 'ahooks';\nexport var LazyDetector = function LazyDetector(props) {\n var ref = useRef(null);\n\n var _useInViewport = useInViewport(ref),\n _useInViewport2 = _slicedToArray(_useInViewport, 1),\n inViewport = _useInViewport2[0];\n\n useEffect(function () {\n if (inViewport) {\n props.onActive();\n }\n }, [inViewport]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref\n });\n};","import React from 'react';\nexport var ImageIcon = function ImageIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: 'M41.396 6.234c1.923 0 3.487 1.574 3.487 3.505v29.14c0 1.937-1.568 3.51-3.491 3.51H6.604c-1.923 0-3.487-1.573-3.487-3.51V9.745c0-1.936 1.564-3.51 3.487-3.51Zm0 2.847H6.604c-.355 0-.654.3-.654.658V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.405 2.405 0 0 1 1.933.752l4.182 4.525 7.58-11.005a2.374 2.374 0 0 1 1.96-1.01c.79 0 1.532.38 1.966 1.01L42.05 34.89V9.74a.664.664 0 0 0-.654-.658Zm-28.305 2.763a3.119 3.119 0 0 1 3.117 3.117 3.119 3.119 0 0 1-3.117 3.117 3.122 3.122 0 0 1-3.117-3.117 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n }));\n};","import React from 'react';\nexport var BrokenImageIcon = function BrokenImageIcon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: '0 0 48 48',\n xmlns: 'http://www.w3.org/2000/svg'\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: 'M19.233 6.233 17.42 9.08l-10.817.001a.665.665 0 0 0-.647.562l-.007.096V34.9l5.989-8.707a2.373 2.373 0 0 1 1.801-1.005 2.415 2.415 0 0 1 1.807.625l.126.127 4.182 4.525 2.267-3.292 5.461 7.841-4.065 7.375H6.604c-1.86 0-3.382-1.47-3.482-3.317l-.005-.192V9.744c0-1.872 1.461-3.405 3.296-3.505l.19-.005h12.63Zm22.163 0c1.86 0 3.382 1.472 3.482 3.314l.005.192v29.14a3.507 3.507 0 0 1-3.3 3.505l-.191.006H27.789l3.63-6.587.06-.119a1.87 1.87 0 0 0-.163-1.853l-6.928-9.949 3.047-4.422a2.374 2.374 0 0 1 1.96-1.01 2.4 2.4 0 0 1 1.86.87l.106.14L42.05 34.89V9.74a.664.664 0 0 0-.654-.658H21.855l1.812-2.848h17.73Zm-28.305 5.611c.794 0 1.52.298 2.07.788l-.843 1.325-.067.114a1.87 1.87 0 0 0 .11 1.959l.848 1.217c-.556.515-1.3.83-2.118.83a3.122 3.122 0 0 1-3.117-3.116 3.119 3.119 0 0 1 3.117-3.117Z',\n fill: '#DBDBDB',\n fillRule: 'nonzero'\n }));\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { mergeProps } from '../../utils/with-default-props';\nimport React, { useState, useRef } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { staged } from 'staged-components';\nimport { toCSSLength } from '../../utils/to-css-length';\nimport { LazyDetector } from './lazy-detector';\nimport { useIsomorphicUpdateLayoutEffect } from '../../utils/use-isomorphic-update-layout-effect';\nimport { ImageIcon } from './image-icon';\nimport { BrokenImageIcon } from './broken-image-icon';\nvar classPrefix = \"adm-image\";\nvar defaultProps = {\n fit: 'fill',\n placeholder: /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-tip\")\n }, /*#__PURE__*/React.createElement(ImageIcon, null)),\n fallback: /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-tip\")\n }, /*#__PURE__*/React.createElement(BrokenImageIcon, null)),\n lazy: false,\n draggable: false\n};\nexport var Image = staged(function (p) {\n var props = mergeProps(defaultProps, p);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n failed = _useState4[0],\n setFailed = _useState4[1];\n\n var ref = useRef(null);\n var src = props.src;\n var srcSet = props.srcSet;\n\n var _useState5 = useState(!props.lazy),\n _useState6 = _slicedToArray(_useState5, 2),\n initialized = _useState6[0],\n setInitialized = _useState6[1];\n\n src = initialized ? props.src : undefined;\n srcSet = initialized ? props.srcSet : undefined;\n useIsomorphicUpdateLayoutEffect(function () {\n setLoaded(false);\n setFailed(false);\n }, [src]);\n\n function renderInner() {\n if (failed) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, props.fallback);\n }\n\n var img = /*#__PURE__*/React.createElement(\"img\", {\n className: \"\".concat(classPrefix, \"-img\"),\n src: src,\n alt: props.alt,\n onClick: props.onClick,\n onLoad: function onLoad(e) {\n var _a;\n\n setLoaded(true);\n (_a = props.onLoad) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onError: function onError(e) {\n var _a;\n\n setFailed(true);\n (_a = props.onError) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n style: {\n objectFit: props.fit,\n display: loaded ? 'block' : 'none'\n },\n crossOrigin: props.crossOrigin,\n decoding: props.decoding,\n loading: props.loading,\n referrerPolicy: props.referrerPolicy,\n sizes: props.sizes,\n srcSet: srcSet,\n useMap: props.useMap,\n draggable: props.draggable\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, !loaded && props.placeholder, img);\n }\n\n var style = {};\n\n if (props.width) {\n style['--width'] = toCSSLength(props.width);\n style['width'] = toCSSLength(props.width);\n }\n\n if (props.height) {\n style['--height'] = toCSSLength(props.height);\n style['height'] = toCSSLength(props.height);\n }\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: classPrefix,\n style: style,\n onClick: props.onContainerClick\n }, props.lazy && !initialized && /*#__PURE__*/React.createElement(LazyDetector, {\n onActive: function onActive() {\n setInitialized(true);\n }\n }), renderInner()));\n});","import \"./image.css\";\nimport { Image } from './image';\nexport default Image;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useRef, useState } from 'react';\nimport { renderToContainer } from '../../utils/render-to-container';\nimport Mask from '../mask';\nimport { withStopPropagation } from '../../utils/with-stop-propagation';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useIsomorphicLayoutEffect, useUnmountedRef } from 'ahooks';\nimport { animated, useSpring } from '@react-spring/web';\nimport { useInnerVisible } from '../../utils/use-inner-visible';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { ShouldRender } from '../../utils/should-render';\nimport { useLockScroll } from '../../utils/use-lock-scroll';\nimport { CloseOutline } from 'antd-mobile-icons';\nimport { defaultPopupBaseProps } from '../popup/popup-base-props';\nvar defaultProps = Object.assign(Object.assign({}, defaultPopupBaseProps), {\n getContainer: null\n});\nexport var CenterPopup = function CenterPopup(p) {\n var props = mergeProps(defaultProps, p);\n var unmountedRef = useUnmountedRef();\n var style = useSpring({\n scale: props.visible ? 1 : 0.8,\n opacity: props.visible ? 1 : 0,\n config: {\n mass: 1.2,\n tension: 200,\n friction: 25,\n clamp: true\n },\n onRest: function onRest() {\n var _a, _b;\n\n if (unmountedRef.current) return;\n setActive(props.visible);\n\n if (props.visible) {\n (_a = props.afterShow) === null || _a === void 0 ? void 0 : _a.call(props);\n } else {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n });\n\n var _useState = useState(props.visible),\n _useState2 = _slicedToArray(_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n\n useIsomorphicLayoutEffect(function () {\n if (props.visible) {\n setActive(true);\n }\n }, [props.visible]);\n var ref = useRef(null);\n useLockScroll(ref, props.disableBodyScroll && active);\n var maskVisible = useInnerVisible(active && props.visible);\n var body = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames('adm-center-popup-body', props.bodyClassName),\n style: props.bodyStyle\n }, props.children);\n var node = withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: 'adm-center-popup',\n style: {\n display: active ? undefined : 'none',\n pointerEvents: active ? undefined : 'none'\n }\n }, props.mask && /*#__PURE__*/React.createElement(Mask, {\n visible: maskVisible,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose,\n onMaskClick: function onMaskClick(e) {\n var _a, _b;\n\n (_a = props.onMaskClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n\n if (props.closeOnMaskClick) {\n (_b = props.onClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n },\n style: props.maskStyle,\n className: classNames('adm-center-popup-mask', props.maskClassName),\n disableBodyScroll: false,\n stopPropagation: props.stopPropagation\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: 'adm-center-popup-wrap',\n role: props.role,\n \"aria-label\": props['aria-label']\n }, /*#__PURE__*/React.createElement(animated.div, {\n style: style,\n ref: ref\n }, props.showCloseButton && /*#__PURE__*/React.createElement(\"a\", {\n className: classNames('adm-center-popup-close', 'adm-plain-anchor'),\n onClick: function onClick() {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, /*#__PURE__*/React.createElement(CloseOutline, null)), body)))));\n return /*#__PURE__*/React.createElement(ShouldRender, {\n active: active,\n forceRender: props.forceRender,\n destroyOnClose: props.destroyOnClose\n }, renderToContainer(props.getContainer, node));\n};","import \"./center-popup.css\";\nimport { CenterPopup } from './center-popup';\nexport default CenterPopup;","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { __awaiter } from \"tslib\";\nimport React from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport classNames from 'classnames';\nimport { DialogActionButton } from './dialog-action-button';\nimport Image from '../image';\nimport AutoCenter from '../auto-center';\nimport CenterPopup from '../center-popup';\nvar defaultProps = {\n actions: [],\n closeOnAction: false,\n closeOnMaskClick: false,\n getContainer: null\n};\nexport var Dialog = function Dialog(p) {\n var props = mergeProps(defaultProps, p);\n var element = /*#__PURE__*/React.createElement(React.Fragment, null, !!props.image && /*#__PURE__*/React.createElement(\"div\", {\n className: cls('image-container')\n }, /*#__PURE__*/React.createElement(Image, {\n src: props.image,\n alt: 'dialog header image',\n width: '100%'\n })), !!props.header && /*#__PURE__*/React.createElement(\"div\", {\n className: cls('header')\n }, /*#__PURE__*/React.createElement(AutoCenter, null, props.header)), !!props.title && /*#__PURE__*/React.createElement(\"div\", {\n className: cls('title')\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(cls('content'), !props.content && cls('content-empty'))\n }, typeof props.content === 'string' ? /*#__PURE__*/React.createElement(AutoCenter, null, props.content) : props.content), /*#__PURE__*/React.createElement(\"div\", {\n className: cls('footer')\n }, props.actions.map(function (row, index) {\n var actions = Array.isArray(row) ? row : [row];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls('action-row'),\n key: index\n }, actions.map(function (action, index) {\n return /*#__PURE__*/React.createElement(DialogActionButton, {\n key: action.key,\n action: action,\n onAction: function onAction() {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _a, _b, _c;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return Promise.all([(_a = action.onClick) === null || _a === void 0 ? void 0 : _a.call(action), (_b = props.onAction) === null || _b === void 0 ? void 0 : _b.call(props, action, index)]);\n\n case 2:\n if (props.closeOnAction) {\n (_c = props.onClose) === null || _c === void 0 ? void 0 : _c.call(props);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n }\n });\n }));\n })));\n return /*#__PURE__*/React.createElement(CenterPopup, {\n className: classNames(cls(), props.className),\n style: props.style,\n afterClose: props.afterClose,\n afterShow: props.afterShow,\n onMaskClick: props.closeOnMaskClick ? function () {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n } : undefined,\n visible: props.visible,\n getContainer: props.getContainer,\n bodyStyle: props.bodyStyle,\n bodyClassName: classNames(cls('body'), props.image && cls('with-image'), props.bodyClassName),\n maskStyle: props.maskStyle,\n maskClassName: props.maskClassName,\n stopPropagation: props.stopPropagation,\n disableBodyScroll: props.disableBodyScroll,\n destroyOnClose: props.destroyOnClose,\n forceRender: props.forceRender,\n role: 'dialog',\n \"aria-label\": props['aria-label']\n }, element);\n};\n\nfunction cls() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return 'adm-dialog' + (name && '-') + name;\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { renderToBody } from './render-to-body';\nexport function renderImperatively(element) {\n var Wrapper = /*#__PURE__*/React.forwardRef(function (_, ref) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n\n var closedRef = useRef(false);\n\n var _useState3 = useState(element),\n _useState4 = _slicedToArray(_useState3, 2),\n elementToRender = _useState4[0],\n setElementToRender = _useState4[1];\n\n var keyRef = useRef(0);\n useEffect(function () {\n if (!closedRef.current) {\n setVisible(true);\n } else {\n afterClose();\n }\n }, []);\n\n function onClose() {\n var _a, _b;\n\n closedRef.current = true;\n setVisible(false);\n (_b = (_a = elementToRender.props).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n\n function afterClose() {\n var _a, _b;\n\n unmount();\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n\n useImperativeHandle(ref, function () {\n return {\n close: onClose,\n replace: function replace(element) {\n var _a, _b;\n\n keyRef.current++;\n (_b = (_a = elementToRender.props).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n setElementToRender(element);\n }\n };\n });\n return /*#__PURE__*/React.cloneElement(elementToRender, Object.assign(Object.assign({}, elementToRender.props), {\n key: keyRef.current,\n visible: visible,\n onClose: onClose,\n afterClose: afterClose\n }));\n });\n var wrapperRef = /*#__PURE__*/React.createRef();\n var unmount = renderToBody( /*#__PURE__*/React.createElement(Wrapper, {\n ref: wrapperRef\n }));\n return {\n close: function close() {\n var _a;\n\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.close();\n },\n replace: function replace(element) {\n var _a;\n\n (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.replace(element);\n }\n };\n}","import React from 'react';\nimport { Dialog } from './dialog';\nimport { renderImperatively } from '../../utils/render-imperatively';\nexport var closeFnSet = new Set();\nexport function show(props) {\n var handler = renderImperatively( /*#__PURE__*/React.createElement(Dialog, Object.assign({}, props, {\n afterClose: function afterClose() {\n var _a;\n\n closeFnSet[\"delete\"](handler.close);\n (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n })));\n closeFnSet.add(handler.close);\n return handler;\n}","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { __awaiter } from \"tslib\";\nimport { show } from './show';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { getDefaultConfig } from '../config-provider';\nvar defaultProps = {\n confirmText: '确认',\n cancelText: '取消'\n};\nexport function confirm(p) {\n var _this = this;\n\n var _getDefaultConfig = getDefaultConfig(),\n locale = _getDefaultConfig.locale;\n\n var props = mergeProps(defaultProps, {\n confirmText: locale.common.confirm,\n cancelText: locale.common.cancel\n }, p);\n return new Promise(function (resolve) {\n show(Object.assign(Object.assign({}, props), {\n closeOnAction: true,\n onClose: function onClose() {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n resolve(false);\n },\n actions: [[{\n key: 'cancel',\n text: props.cancelText,\n onClick: function onClick() {\n return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _a;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);\n\n case 2:\n resolve(false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n }\n }, {\n key: 'confirm',\n text: props.confirmText,\n bold: true,\n onClick: function onClick() {\n return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _b;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (_b = props.onConfirm) === null || _b === void 0 ? void 0 : _b.call(props);\n\n case 2:\n resolve(true);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n }\n }]]\n }));\n });\n}","import \"./dialog.css\";\nimport { show } from './show';\nimport { alert } from './alert';\nimport { confirm } from './confirm';\nimport { clear } from './clear';\nimport { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';\nimport { Dialog } from './dialog';\nexport default attachPropertiesToComponent(Dialog, {\n show: show,\n alert: alert,\n confirm: confirm,\n clear: clear\n});","import { show } from './show';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { getDefaultConfig } from '../config-provider';\nexport function alert(p) {\n var defaultProps = {\n confirmText: getDefaultConfig().locale.Dialog.ok\n };\n var props = mergeProps(defaultProps, p);\n return new Promise(function (resolve) {\n show(Object.assign(Object.assign({}, props), {\n closeOnAction: true,\n actions: [{\n key: 'confirm',\n text: props.confirmText\n }],\n onAction: props.onConfirm,\n onClose: function onClose() {\n var _a;\n\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n resolve();\n }\n }));\n });\n}","import { closeFnSet } from './show';\nexport function clear() {\n closeFnSet.forEach(function (close) {\n close();\n });\n}","import React from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nexport var EmptyIcon = function EmptyIcon(props) {\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: '0 0 64 41'\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: 'translate(0 1)',\n fill: 'none',\n fillRule: 'evenodd'\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n fill: '#f5f5f5',\n cx: '32',\n cy: '33',\n rx: '32',\n ry: '7'\n }), /*#__PURE__*/React.createElement(\"g\", {\n stroke: '#d9d9d9'\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: 'M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z',\n fill: '#fafafa'\n })))));\n};","import \"./empty.css\";\nimport { Empty } from './empty';\nexport default Empty;","import React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { EmptyIcon } from './empty-icon';\nvar classPrefix = \"adm-empty\";\n/** @deprecated Empty has been deprecated and will be removed in the next major version. */\n\nexport var Empty = function Empty(props) {\n function renderImageNode() {\n var image = props.image;\n\n if (image === undefined) {\n return /*#__PURE__*/React.createElement(EmptyIcon, {\n className: \"\".concat(classPrefix, \"-image\"),\n style: props.imageStyle\n });\n }\n\n if (typeof image === 'string') {\n return /*#__PURE__*/React.createElement(\"img\", {\n className: \"\".concat(classPrefix, \"-image\"),\n style: props.imageStyle,\n src: image,\n alt: 'empty'\n });\n }\n\n return image;\n }\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classPrefix\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-image-container\")\n }, renderImageNode()), props.description && /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(classPrefix, \"-description\"))\n }, props.description)));\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nvar classPrefix = \"adm-space\";\nvar defaultProps = {\n direction: 'horizontal'\n};\nexport var Space = function Space(p) {\n var _classNames;\n\n var props = mergeProps(defaultProps, p);\n var direction = props.direction,\n onClick = props.onClick;\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(classPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(classPrefix, \"-wrap\"), props.wrap), _defineProperty(_classNames, \"\".concat(classPrefix, \"-block\"), props.block), _defineProperty(_classNames, \"\".concat(classPrefix, \"-\").concat(direction), true), _defineProperty(_classNames, \"\".concat(classPrefix, \"-align-\").concat(props.align), !!props.align), _defineProperty(_classNames, \"\".concat(classPrefix, \"-justify-\").concat(props.justify), !!props.justify), _classNames)),\n onClick: onClick\n }, React.Children.map(props.children, function (child) {\n return child !== null && child !== undefined && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-item\")\n }, child);\n })));\n};","import \"./space.css\";\nimport { Space } from './space';\nexport default Space;","import * as React from \"react\";\n\nfunction MinusOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"MinusOutline-MinusOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"MinusOutline-add\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"MinusOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.1,22.5 C41.3209139,22.5 41.5,22.6790861 41.5,22.9 L41.5,25.1 C41.5,25.3209139 41.3209139,25.5 41.1,25.5 L6.9,25.5 C6.6790861,25.5 6.5,25.3209139 6.5,25.1 L6.5,22.9 C6.5,22.6790861 6.6790861,22.5 6.9,22.5 L41.1,22.5 Z\",\n id: \"MinusOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default MinusOutline;","import * as React from \"react\";\n\nfunction AddOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"AddOutline-AddOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"AddOutline-add\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"AddOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1,6.5 C25.3209139,6.5 25.5,6.6790861 25.5,6.9 L25.5,22.5 L41.1,22.5 C41.3209139,22.5 41.5,22.6790861 41.5,22.9 L41.5,25.1 C41.5,25.3209139 41.3209139,25.5 41.1,25.5 L25.5,25.5 L25.5,41.1 C25.5,41.3209139 25.3209139,41.5 25.1,41.5 L22.9,41.5 C22.6790861,41.5 22.5,41.3209139 22.5,41.1 L22.5,25.5 L6.9,25.5 C6.6790861,25.5 6.5,25.3209139 6.5,25.1 L6.5,22.9 C6.5,22.6790861 6.6790861,22.5 6.9,22.5 L22.5,22.5 L22.5,6.9 C22.5,6.6790861 22.6790861,6.5 22.9,6.5 L25.1,6.5 Z\",\n id: \"AddOutline-\\u8DEF\\u5F84\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default AddOutline;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export function supportBigInt() {\n return typeof BigInt === 'function';\n}","import { supportBigInt } from \"./supportUtil\";\n/**\n * Format string number to readable number\n */\n\nexport function trimNumber(numStr) {\n var str = numStr.trim();\n var negative = str.startsWith('-');\n\n if (negative) {\n str = str.slice(1);\n }\n\n str = str // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`\n .replace(/(\\.\\d*[^0])0*$/, '$1') // Remove useless decimal. `1.` => `1`\n .replace(/\\.0*$/, '') // Remove integer 0. `0001` => `1`, 000.1' => `.1`\n .replace(/^0+/, '');\n\n if (str.startsWith('.')) {\n str = \"0\".concat(str);\n }\n\n var trimStr = str || '0';\n var splitNumber = trimStr.split('.');\n var integerStr = splitNumber[0] || '0';\n var decimalStr = splitNumber[1] || '0';\n\n if (integerStr === '0' && decimalStr === '0') {\n negative = false;\n }\n\n var negativeStr = negative ? '-' : '';\n return {\n negative: negative,\n negativeStr: negativeStr,\n trimStr: trimStr,\n integerStr: integerStr,\n decimalStr: decimalStr,\n fullStr: \"\".concat(negativeStr).concat(trimStr)\n };\n}\nexport function isE(number) {\n var str = String(number);\n return !Number.isNaN(Number(str)) && str.includes('e');\n}\n/**\n * [Legacy] Convert 1e-9 to 0.000000001.\n * This may lose some precision if user really want 1e-9.\n */\n\nexport function getNumberPrecision(number) {\n var numStr = String(number);\n\n if (isE(number)) {\n var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));\n var decimalMatch = numStr.match(/\\.(\\d+)/);\n\n if (decimalMatch !== null && decimalMatch !== void 0 && decimalMatch[1]) {\n precision += decimalMatch[1].length;\n }\n\n return precision;\n }\n\n return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;\n}\n/**\n * Convert number (includes scientific notation) to -xxx.yyy format\n */\n\nexport function num2str(number) {\n var numStr = String(number);\n\n if (isE(number)) {\n if (number > Number.MAX_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);\n }\n\n if (number < Number.MIN_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);\n }\n\n numStr = number.toFixed(getNumberPrecision(numStr));\n }\n\n return trimNumber(numStr).fullStr;\n}\nexport function validateNumber(num) {\n if (typeof num === 'number') {\n return !Number.isNaN(num);\n } // Empty\n\n\n if (!num) {\n return false;\n }\n\n return (// Normal type: 11.28\n /^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(num) || // Pre-number: 1.\n /^\\s*-?\\d+\\.\\s*$/.test(num) || // Post-number: .1\n /^\\s*-?\\.\\d+\\s*$/.test(num)\n );\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint-disable max-classes-per-file */\n\nimport { getNumberPrecision, isE, num2str, trimNumber, validateNumber } from \"./numberUtil\";\nimport { supportBigInt } from \"./supportUtil\";\n\nfunction isEmpty(value) {\n return !value && value !== 0 && !Number.isNaN(value) || !String(value).trim();\n}\n/**\n * We can remove this when IE not support anymore\n */\n\n\nexport var NumberDecimal = /*#__PURE__*/function () {\n function NumberDecimal(value) {\n _classCallCheck(this, NumberDecimal);\n\n _defineProperty(this, \"origin\", '');\n\n _defineProperty(this, \"number\", void 0);\n\n _defineProperty(this, \"empty\", void 0);\n\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n\n this.origin = String(value);\n this.number = Number(value);\n }\n\n _createClass(NumberDecimal, [{\n key: \"negate\",\n value: function negate() {\n return new NumberDecimal(-this.toNumber());\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new NumberDecimal(value);\n }\n\n var target = Number(value);\n\n if (Number.isNaN(target)) {\n return this;\n }\n\n var number = this.number + target; // [Legacy] Back to safe integer\n\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.number);\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n return this.number;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!safe) {\n return this.origin;\n }\n\n if (this.isInvalidate()) {\n return '';\n }\n\n return num2str(this.number);\n }\n }]);\n\n return NumberDecimal;\n}();\nexport var BigIntDecimal = /*#__PURE__*/function () {\n /** BigInt will convert `0009` to `9`. We need record the len of decimal */\n function BigIntDecimal(value) {\n _classCallCheck(this, BigIntDecimal);\n\n _defineProperty(this, \"origin\", '');\n\n _defineProperty(this, \"negative\", void 0);\n\n _defineProperty(this, \"integer\", void 0);\n\n _defineProperty(this, \"decimal\", void 0);\n\n _defineProperty(this, \"decimalLen\", void 0);\n\n _defineProperty(this, \"empty\", void 0);\n\n _defineProperty(this, \"nan\", void 0);\n\n if (isEmpty(value)) {\n this.empty = true;\n return;\n }\n\n this.origin = String(value); // Act like Number convert\n\n if (value === '-' || Number.isNaN(value)) {\n this.nan = true;\n return;\n }\n\n var mergedValue = value; // We need convert back to Number since it require `toFixed` to handle this\n\n if (isE(mergedValue)) {\n mergedValue = Number(mergedValue);\n }\n\n mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);\n\n if (validateNumber(mergedValue)) {\n var trimRet = trimNumber(mergedValue);\n this.negative = trimRet.negative;\n var numbers = trimRet.trimStr.split('.');\n this.integer = BigInt(numbers[0]);\n var decimalStr = numbers[1] || '0';\n this.decimal = BigInt(decimalStr);\n this.decimalLen = decimalStr.length;\n } else {\n this.nan = true;\n }\n }\n\n _createClass(BigIntDecimal, [{\n key: \"getMark\",\n value: function getMark() {\n return this.negative ? '-' : '';\n }\n }, {\n key: \"getIntegerStr\",\n value: function getIntegerStr() {\n return this.integer.toString();\n }\n }, {\n key: \"getDecimalStr\",\n value: function getDecimalStr() {\n return this.decimal.toString().padStart(this.decimalLen, '0');\n }\n /**\n * Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000\n * This is used for add function only.\n */\n\n }, {\n key: \"alignDecimal\",\n value: function alignDecimal(decimalLength) {\n var str = \"\".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));\n return BigInt(str);\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var clone = new BigIntDecimal(this.toString());\n clone.negative = !clone.negative;\n return clone;\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new BigIntDecimal(value);\n }\n\n var offset = new BigIntDecimal(value);\n\n if (offset.isInvalidate()) {\n return this;\n }\n\n var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);\n var myAlignedDecimal = this.alignDecimal(maxDecimalLength);\n var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);\n var valueStr = (myAlignedDecimal + offsetAlignedDecimal).toString(); // We need fill string length back to `maxDecimalLength` to avoid parser failed\n\n var _trimNumber = trimNumber(valueStr),\n negativeStr = _trimNumber.negativeStr,\n trimStr = _trimNumber.trimStr;\n\n var hydrateValueStr = \"\".concat(negativeStr).concat(trimStr.padStart(maxDecimalLength + 1, '0'));\n return new BigIntDecimal(\"\".concat(hydrateValueStr.slice(0, -maxDecimalLength), \".\").concat(hydrateValueStr.slice(-maxDecimalLength)));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return this.nan;\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n if (this.isNaN()) {\n return NaN;\n }\n\n return Number(this.toString());\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!safe) {\n return this.origin;\n }\n\n if (this.isInvalidate()) {\n return '';\n }\n\n return trimNumber(\"\".concat(this.getMark()).concat(this.getIntegerStr(), \".\").concat(this.getDecimalStr())).fullStr;\n }\n }]);\n\n return BigIntDecimal;\n}();\nexport default function getMiniDecimal(value) {\n // We use BigInt here.\n // Will fallback to Number if not support.\n if (supportBigInt()) {\n return new BigIntDecimal(value);\n }\n\n return new NumberDecimal(value);\n}\n/**\n * Align the logic of toFixed to around like 1.5 => 2.\n * If set `cutOnly`, will just remove the over decimal part.\n */\n\nexport function toFixed(numStr, separatorStr, precision) {\n var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (numStr === '') {\n return '';\n }\n\n var _trimNumber2 = trimNumber(numStr),\n negativeStr = _trimNumber2.negativeStr,\n integerStr = _trimNumber2.integerStr,\n decimalStr = _trimNumber2.decimalStr;\n\n var precisionDecimalStr = \"\".concat(separatorStr).concat(decimalStr);\n var numberWithoutDecimal = \"\".concat(negativeStr).concat(integerStr);\n\n if (precision >= 0) {\n // We will get last + 1 number to check if need advanced number\n var advancedNum = Number(decimalStr[precision]);\n\n if (advancedNum >= 5 && !cutOnly) {\n var advancedDecimal = getMiniDecimal(numStr).add(\"\".concat(negativeStr, \"0.\").concat('0'.repeat(precision)).concat(10 - advancedNum));\n return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);\n }\n\n if (precision === 0) {\n return numberWithoutDecimal;\n }\n\n return \"\".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));\n }\n\n if (precisionDecimalStr === '.0') {\n return numberWithoutDecimal;\n }\n\n return \"\".concat(numberWithoutDecimal).concat(precisionDecimalStr);\n}","import getMiniDecimal from \"./MiniDecimal\";\nexport * from \"./MiniDecimal\";\nimport { trimNumber, getNumberPrecision, num2str, validateNumber } from \"./numberUtil\";\nexport { trimNumber, getNumberPrecision, num2str, validateNumber };\nexport default getMiniDecimal;","import * as React from \"react\";\n\nfunction CloseCircleFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-CloseCircleFill\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"CloseCircleFill-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"CloseCircleFill-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,2 C36.1502645,2 46,11.8497355 46,24 C46,36.1502645 36.1502645,46 24,46 C11.8497355,46 2,36.1502645 2,24 C2,11.8497355 11.8497355,2 24,2 Z M18.6753876,16 L15.5637812,16 C15.4576916,16 15.3559474,16.0421451 15.2809323,16.1171635 C15.124726,16.2733766 15.1247316,16.5266426 15.2809447,16.6828489 L15.2809447,16.6828489 L22.299066,23.7006641 L14.6828159,31.3171619 C14.6078042,31.3921761 14.5656632,31.4939157 14.5656632,31.6 C14.5656632,31.8209139 14.7447493,32 14.9656632,32 L14.9656632,32 L18.0753284,32 C18.1814068,32 18.2831412,31.9578638 18.3581544,31.8828594 L18.3581544,31.8828594 L24.420066,25.8216641 L30.4818451,31.8828564 C30.5568585,31.9578626 30.6585942,32 30.7646741,32 L30.7646741,32 L33.8763476,32 C33.9824309,32 34.0841695,31.9578599 34.1591835,31.8828496 C34.315397,31.7266436 34.3154031,31.4733776 34.1591972,31.3171641 L34.1591972,31.3171641 L26.542066,23.6996641 L33.5591874,16.6828489 C33.6342057,16.6078338 33.6763508,16.5060896 33.6763508,16.4 C33.6763508,16.1790861 33.4972647,16 33.2763508,16 L33.2763508,16 L30.1637654,16 C30.0576705,16 29.9559218,16.0421493 29.8809058,16.1171741 L29.8809058,16.1171741 L24.420066,21.5786641 L18.9582218,16.1171488 C18.883208,16.0421394 18.7814701,16 18.6753876,16 L18.6753876,16 Z\",\n id: \"CloseCircleFill-\\u5F62\\u72B6\\u7ED3\\u5408\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default CloseCircleFill;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport React, { useState, forwardRef, useImperativeHandle, useRef } from 'react';\nimport { usePropsValue } from '../../utils/use-props-value';\nimport { CloseCircleFill } from 'antd-mobile-icons';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport classNames from 'classnames';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { bound } from '../../utils/bound';\nimport { isIOS } from '../../utils/validate';\nimport { useConfig } from '../config-provider';\nvar classPrefix = \"adm-input\";\nvar defaultProps = {\n defaultValue: '',\n onlyShowClearWhenFocus: true\n};\nexport var Input = /*#__PURE__*/forwardRef(function (p, ref) {\n var props = mergeProps(defaultProps, p);\n\n var _usePropsValue = usePropsValue(props),\n _usePropsValue2 = _slicedToArray(_usePropsValue, 2),\n value = _usePropsValue2[0],\n setValue = _usePropsValue2[1];\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n hasFocus = _useState2[0],\n setHasFocus = _useState2[1];\n\n var compositionStartRef = useRef(false);\n var nativeInputRef = useRef(null);\n\n var _useConfig = useConfig(),\n locale = _useConfig.locale;\n\n useImperativeHandle(ref, function () {\n return {\n clear: function clear() {\n setValue('');\n },\n focus: function focus() {\n var _a;\n\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: function blur() {\n var _a;\n\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n },\n\n get nativeElement() {\n return nativeInputRef.current;\n }\n\n };\n });\n\n var handleKeydown = function handleKeydown(e) {\n var _a;\n\n if (props.onEnterPress && (e.code === 'Enter' || e.keyCode === 13)) {\n props.onEnterPress(e);\n }\n\n (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n };\n\n useIsomorphicLayoutEffect(function () {\n var _a;\n\n if (!props.enterKeyHint) return;\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('enterkeyhint', props.enterKeyHint);\n return function () {\n var _a;\n\n (_a = nativeInputRef.current) === null || _a === void 0 ? void 0 : _a.removeAttribute('enterkeyhint');\n };\n }, [props.enterKeyHint]);\n\n function checkValue() {\n var nextValue = value;\n\n if (props.type === 'number') {\n nextValue = nextValue && bound(parseFloat(nextValue), props.min, props.max).toString();\n }\n\n if (nextValue !== value) {\n setValue(nextValue);\n }\n }\n\n var shouldShowClear = function () {\n if (!props.clearable || !value || props.readOnly) return false;\n\n if (props.onlyShowClearWhenFocus) {\n return hasFocus;\n } else {\n return true;\n }\n }();\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(classPrefix), props.disabled && \"\".concat(classPrefix, \"-disabled\"))\n }, /*#__PURE__*/React.createElement(\"input\", {\n ref: nativeInputRef,\n className: \"\".concat(classPrefix, \"-element\"),\n value: value,\n onChange: function onChange(e) {\n setValue(e.target.value);\n },\n onFocus: function onFocus(e) {\n var _a;\n\n setHasFocus(true);\n (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onBlur: function onBlur(e) {\n var _a;\n\n setHasFocus(false);\n checkValue();\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n id: props.id,\n placeholder: props.placeholder,\n disabled: props.disabled,\n readOnly: props.readOnly,\n maxLength: props.maxLength,\n minLength: props.minLength,\n max: props.max,\n min: props.min,\n autoComplete: props.autoComplete,\n autoFocus: props.autoFocus,\n pattern: props.pattern,\n inputMode: props.inputMode,\n type: props.type,\n name: props.name,\n autoCapitalize: props.autoCapitalize,\n autoCorrect: props.autoCorrect,\n onKeyDown: handleKeydown,\n onKeyUp: props.onKeyUp,\n onCompositionStart: function onCompositionStart(e) {\n var _a;\n\n compositionStartRef.current = true;\n (_a = props.onCompositionStart) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onCompositionEnd: function onCompositionEnd(e) {\n var _a;\n\n compositionStartRef.current = false;\n (_a = props.onCompositionEnd) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n onClick: props.onClick,\n role: props.role,\n \"aria-valuenow\": props['aria-valuenow'],\n \"aria-valuemax\": props['aria-valuemax'],\n \"aria-valuemin\": props['aria-valuemin'],\n \"aria-label\": props['aria-label']\n }), shouldShowClear && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-clear\"),\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n },\n onClick: function onClick() {\n var _a, _b;\n\n setValue('');\n (_a = props.onClear) === null || _a === void 0 ? void 0 : _a.call(props); // https://github.com/ant-design/ant-design-mobile/issues/5212\n\n if (isIOS() && compositionStartRef.current) {\n compositionStartRef.current = false;\n (_b = nativeInputRef.current) === null || _b === void 0 ? void 0 : _b.blur();\n }\n },\n \"aria-label\": locale.Input.clear\n }, /*#__PURE__*/React.createElement(CloseCircleFill, null))));\n});","import \"./input.css\";\nimport { Input } from './input';\nexport default Input;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport { MinusOutline, AddOutline } from 'antd-mobile-icons';\nimport useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport getMiniDecimal, { toFixed } from '@rc-component/mini-decimal';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport Input from '../input';\nimport Button from '../button';\nimport { useConfig } from '../config-provider';\nvar classPrefix = \"adm-stepper\";\nvar defaultProps = {\n step: 1,\n disabled: false,\n allowEmpty: false\n};\nexport function Stepper(p) {\n var props = mergeProps(defaultProps, p);\n var _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,\n value = props.value,\n _onChange = props.onChange,\n disabled = props.disabled,\n step = props.step,\n max = props.max,\n min = props.min,\n inputReadOnly = props.inputReadOnly,\n digits = props.digits,\n stringMode = props.stringMode,\n formatter = props.formatter,\n parser = props.parser;\n\n var _useConfig = useConfig(),\n locale = _useConfig.locale; // ========================== Parse / Format ==========================\n\n\n var fixedValue = function fixedValue(value) {\n var fixedValue = digits !== undefined ? toFixed(value.toString(), '.', digits) : value;\n return fixedValue.toString();\n };\n\n var getValueAsType = function getValueAsType(value) {\n return stringMode ? value.toString() : value.toNumber();\n };\n\n var parseValue = function parseValue(text) {\n if (text === '') return null;\n\n if (parser) {\n return String(parser(text));\n }\n\n var decimal = getMiniDecimal(text);\n return decimal.isInvalidate() ? null : decimal.toString();\n };\n\n var formatValue = function formatValue(value) {\n if (value === null) return '';\n\n if (formatter) {\n return formatter(value);\n } else {\n return fixedValue(value);\n }\n }; // ======================== Value & InputValue ========================\n\n\n var _useMergedState = useMergedState(defaultValue, {\n value: value,\n onChange: function onChange(nextValue) {\n _onChange === null || _onChange === void 0 ? void 0 : _onChange(nextValue);\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n\n var _useState = useState(function () {\n return formatValue(mergedValue);\n }),\n _useState2 = _slicedToArray(_useState, 2),\n inputValue = _useState2[0],\n setInputValue = _useState2[1]; // >>>>> Value\n\n\n function setValueWithCheck(nextValue) {\n if (nextValue.isNaN()) return;\n var target = nextValue; // Put into range\n\n if (min !== undefined) {\n var minDecimal = getMiniDecimal(min);\n\n if (target.lessEquals(minDecimal)) {\n target = minDecimal;\n }\n }\n\n if (max !== undefined) {\n var maxDecimal = getMiniDecimal(max);\n\n if (maxDecimal.lessEquals(target)) {\n target = maxDecimal;\n }\n } // Fix digits\n\n\n if (digits !== undefined) {\n target = getMiniDecimal(fixedValue(getValueAsType(target)));\n }\n\n setMergedValue(getValueAsType(target));\n } // >>>>> Input\n\n\n var handleInputChange = function handleInputChange(v) {\n setInputValue(v);\n var valueStr = parseValue(v);\n\n if (valueStr === null) {\n if (props.allowEmpty) {\n setMergedValue(null);\n } else {\n setMergedValue(defaultValue);\n }\n } else {\n setValueWithCheck(getMiniDecimal(valueStr));\n }\n }; // ============================== Focus ===============================\n\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n\n var inputRef = React.useRef(null);\n\n function triggerFocus(nextFocus) {\n setFocused(nextFocus); // We will convert value to original text when focus\n\n if (nextFocus) {\n setInputValue(mergedValue !== null && mergedValue !== undefined ? String(mergedValue) : '');\n }\n }\n\n useEffect(function () {\n var _a, _b, _c;\n\n if (focused) {\n (_c = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.select) === null || _c === void 0 ? void 0 : _c.call(_b);\n }\n }, [focused]); // Focus change to format value\n\n useEffect(function () {\n if (!focused) {\n setInputValue(formatValue(mergedValue));\n }\n }, [focused, mergedValue, digits]); // ============================ Operations ============================\n\n var handleOffset = function handleOffset(positive) {\n var stepValue = getMiniDecimal(step);\n\n if (!positive) {\n stepValue = stepValue.negate();\n }\n\n setValueWithCheck(getMiniDecimal(mergedValue !== null && mergedValue !== void 0 ? mergedValue : 0).add(stepValue.toString()));\n };\n\n var handleMinus = function handleMinus() {\n handleOffset(false);\n };\n\n var handlePlus = function handlePlus() {\n handleOffset(true);\n };\n\n var minusDisabled = function minusDisabled() {\n if (disabled) return true;\n if (mergedValue === null) return false;\n\n if (min !== undefined) {\n return mergedValue <= min;\n }\n\n return false;\n };\n\n var plusDisabled = function plusDisabled() {\n if (disabled) return true;\n if (mergedValue === null) return false;\n\n if (max !== undefined) {\n return mergedValue >= max;\n }\n\n return false;\n }; // ============================== Render ==============================\n\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(classPrefix, _defineProperty({}, \"\".concat(classPrefix, \"-active\"), focused))\n }, /*#__PURE__*/React.createElement(Button, {\n className: \"\".concat(classPrefix, \"-minus\"),\n onClick: handleMinus,\n disabled: minusDisabled(),\n fill: 'none',\n shape: 'rectangular',\n color: 'primary',\n \"aria-label\": locale.Stepper.decrease\n }, /*#__PURE__*/React.createElement(MinusOutline, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-middle\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n className: \"\".concat(classPrefix, \"-input\"),\n onFocus: function onFocus(e) {\n var _a;\n\n triggerFocus(true);\n (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n value: inputValue,\n onChange: function onChange(val) {\n disabled || handleInputChange(val);\n },\n disabled: disabled,\n onBlur: function onBlur(e) {\n var _a;\n\n triggerFocus(false);\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);\n },\n readOnly: inputReadOnly,\n role: 'spinbutton',\n \"aria-valuenow\": Number(inputValue),\n \"aria-valuemax\": Number(max),\n \"aria-valuemin\": Number(min),\n inputMode: 'decimal'\n })), /*#__PURE__*/React.createElement(Button, {\n className: \"\".concat(classPrefix, \"-plus\"),\n onClick: handlePlus,\n disabled: plusDisabled(),\n fill: 'none',\n shape: 'rectangular',\n color: 'primary',\n \"aria-label\": locale.Stepper.increase\n }, /*#__PURE__*/React.createElement(AddOutline, null))));\n}","import \"./stepper.css\";\nimport { Stepper } from './stepper';\nexport default Stepper;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React from 'react';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { withNativeProps } from '../../utils/native-props';\nimport classNames from 'classnames';\nvar classPrefix = \"adm-tag\";\nvar colorRecord = {\n \"default\": '#666666',\n primary: 'var(--adm-color-primary, #1677ff)',\n success: 'var(--adm-color-success, #00b578)',\n warning: 'var(--adm-color-warning, #ff8f1f)',\n danger: 'var(--adm-color-danger, #ff3141)'\n};\nvar defaultProps = {\n color: 'default',\n fill: 'solid',\n round: false\n};\nexport var Tag = function Tag(p) {\n var _a;\n\n var props = mergeProps(defaultProps, p);\n var color = (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color;\n var style = {\n '--border-color': color,\n '--text-color': props.fill === 'outline' ? color : '#ffffff',\n '--background-color': props.fill === 'outline' ? 'transparent' : color\n };\n return withNativeProps(props, /*#__PURE__*/React.createElement(\"span\", {\n style: style,\n onClick: props.onClick,\n className: classNames(classPrefix, _defineProperty({}, \"\".concat(classPrefix, \"-round\"), props.round))\n }, props.children));\n};","import \"./tag.css\";\nimport { Tag } from './tag';\nexport default Tag;","import { Globals } from '@react-spring/web';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nvar reduced = false;\nvar subscribers = new Set();\n\nfunction notify() {\n subscribers.forEach(function (subscriber) {\n subscriber();\n });\n}\n\nexport function reduceMotion() {\n reduced = true;\n notify();\n Globals.assign({\n skipAnimation: true\n });\n}\nexport function restoreMotion() {\n reduced = false;\n notify();\n Globals.assign({\n skipAnimation: false\n });\n}\nexport function isMotionReduced() {\n return reduced;\n}\nexport function useMotionReduced() {\n return useSyncExternalStore(function (onStoreChange) {\n subscribers.add(onStoreChange);\n return function () {\n subscribers[\"delete\"](onStoreChange);\n };\n }, isMotionReduced);\n}","import React, { memo } from 'react';\nimport { withNativeProps } from '../../utils/native-props';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { useSpring, animated } from '@react-spring/web';\nimport { useMotionReduced } from '../../utils/reduce-and-restore-motion';\nvar classPrefix = 'adm-spin-loading';\nvar colorRecord = {\n \"default\": 'var(--adm-color-weak)',\n primary: 'var(--adm-color-primary)',\n white: 'var(--adm-color-white)'\n};\nvar defaultProps = {\n color: 'default'\n};\nvar circumference = 15 * 3.14159265358979 * 2;\nexport var SpinLoading = /*#__PURE__*/memo(function (p) {\n var _a;\n\n var props = mergeProps(defaultProps, p);\n var motionReduced = useMotionReduced();\n\n var _useSpring = useSpring({\n cancel: motionReduced,\n loop: {\n reverse: true\n },\n from: {\n percent: 80\n },\n to: {\n percent: 30\n },\n config: {\n duration: 1200\n }\n }),\n percent = _useSpring.percent;\n\n return withNativeProps(props, /*#__PURE__*/React.createElement(animated.div, {\n className: classPrefix,\n style: {\n '--color': (_a = colorRecord[props.color]) !== null && _a !== void 0 ? _a : props.color,\n '--percent': percent\n }\n }, /*#__PURE__*/React.createElement(\"svg\", {\n className: \"\".concat(classPrefix, \"-svg\"),\n viewBox: '0 0 32 32'\n }, /*#__PURE__*/React.createElement(animated.circle, {\n className: \"\".concat(classPrefix, \"-fill\"),\n fill: 'transparent',\n strokeWidth: '2',\n strokeDasharray: circumference,\n strokeDashoffset: percent,\n strokeLinecap: 'square',\n r: 15,\n cx: 16,\n cy: 16\n }))));\n});","import \"./spin-loading.css\";\nimport { SpinLoading } from './spin-loading';\nexport default SpinLoading;","import React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { CheckOutline, CloseOutline } from 'antd-mobile-icons';\nimport Mask from '../mask';\nimport { mergeProps } from '../../utils/with-default-props';\nimport AutoCenter from '../auto-center';\nimport SpinLoading from '../spin-loading';\nvar classPrefix = \"adm-toast\";\nvar defaultProps = {\n maskClickable: true,\n stopPropagation: ['click']\n};\nexport var InternalToast = function InternalToast(p) {\n var props = mergeProps(defaultProps, p);\n var maskClickable = props.maskClickable,\n content = props.content,\n icon = props.icon,\n position = props.position;\n var iconElement = useMemo(function () {\n if (icon === null || icon === undefined) return null;\n\n switch (icon) {\n case 'success':\n return /*#__PURE__*/React.createElement(CheckOutline, {\n className: \"\".concat(classPrefix, \"-icon-success\")\n });\n\n case 'fail':\n return /*#__PURE__*/React.createElement(CloseOutline, {\n className: \"\".concat(classPrefix, \"-icon-fail\")\n });\n\n case 'loading':\n return /*#__PURE__*/React.createElement(SpinLoading, {\n color: 'white',\n className: \"\".concat(classPrefix, \"-loading\")\n });\n\n default:\n return icon;\n }\n }, [icon]);\n var top = useMemo(function () {\n switch (position) {\n case 'top':\n return '20%';\n\n case 'bottom':\n return '80%';\n\n default:\n return '50%';\n }\n }, [position]);\n return /*#__PURE__*/React.createElement(Mask, {\n visible: props.visible,\n destroyOnClose: true,\n opacity: 0,\n disableBodyScroll: !maskClickable,\n getContainer: props.getContainer,\n afterClose: props.afterClose,\n style: Object.assign({\n pointerEvents: maskClickable ? 'none' : 'auto'\n }, props.maskStyle),\n className: classNames(\"\".concat(classPrefix, \"-mask\"), props.maskClassName),\n stopPropagation: props.stopPropagation\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(classPrefix, \"-wrap\"))\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n top: top\n },\n className: classNames(\"\".concat(classPrefix, \"-main\"), icon ? \"\".concat(classPrefix, \"-main-icon\") : \"\".concat(classPrefix, \"-main-text\"))\n }, iconElement && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(classPrefix, \"-icon\")\n }, iconElement), /*#__PURE__*/React.createElement(AutoCenter, null, content))));\n};","import React from 'react';\nimport { InternalToast } from './toast';\nimport { mergeProps } from '../../utils/with-default-props';\nimport { renderImperatively } from '../../utils/render-imperatively';\nvar currentHandler = null;\nvar currentTimeout = null;\nvar defaultProps = {\n duration: 2000,\n position: 'center',\n maskClickable: true\n};\n\nvar ToastInner = function ToastInner(props) {\n return /*#__PURE__*/React.createElement(InternalToast, Object.assign({}, props));\n};\n\nexport function show(p) {\n var props = mergeProps(defaultProps, typeof p === 'string' ? {\n content: p\n } : p);\n var element = /*#__PURE__*/React.createElement(ToastInner, Object.assign({}, props, {\n onClose: function onClose() {\n currentHandler = null;\n }\n }));\n\n if (currentHandler) {\n currentHandler.replace(element);\n } else {\n currentHandler = renderImperatively(element);\n }\n\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n }\n\n if (props.duration !== 0) {\n currentTimeout = window.setTimeout(function () {\n clear();\n }, props.duration);\n }\n\n return currentHandler;\n}\nexport function clear() {\n currentHandler === null || currentHandler === void 0 ? void 0 : currentHandler.close();\n currentHandler = null;\n}\nexport function config(val) {\n if (val.duration !== undefined) {\n defaultProps.duration = val.duration;\n }\n\n if (val.position !== undefined) {\n defaultProps.position = val.position;\n }\n\n if (val.maskClickable !== undefined) {\n defaultProps.maskClickable = val.maskClickable;\n }\n}","import \"./toast.css\";\nimport { clear, show, config } from './methods';\nvar Toast = {\n show: show,\n clear: clear,\n config: config\n};\nexport default Toast;","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n/** `Object#toString` result references. */\n\n\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n } // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\n\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;","import React, { FC, ReactNode } from 'react';\n\ninterface IFormGroup {\n label?: string\n required?: boolean\n children: React.ReactNode\n}\n\nexport const FormGroup: FC = ({ label, children, required }) => (\n

\n \n
\n);\n\ninterface IFormGroupToggle {\n label?: string\n required?: boolean\n children: ReactNode\n}\n\nexport const FormGroupToggle: FC = ({ label, children, required = false }) => (\n
\n \n
\n);\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { createElement, useContext, useRef, useLayoutEffect } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-4fbd89c5.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-4fbd89c5.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nvar pkg = {\n name: \"@emotion/react\",\n version: \"11.1.5\",\n main: \"dist/emotion-react.cjs.js\",\n module: \"dist/emotion-react.esm.js\",\n browser: {\n \"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n \"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n },\n types: \"types/index.d.ts\",\n files: [\"src\", \"dist\", \"jsx-runtime\", \"jsx-dev-runtime\", \"isolated-hoist-non-react-statics-do-not-use-this-in-your-code\", \"types/*.d.ts\", \"macro.js\", \"macro.d.ts\", \"macro.js.flow\"],\n sideEffects: false,\n author: \"mitchellhamilton \",\n license: \"MIT\",\n scripts: {\n \"test:typescript\": \"dtslint types\"\n },\n dependencies: {\n \"@babel/runtime\": \"^7.7.2\",\n \"@emotion/cache\": \"^11.1.3\",\n \"@emotion/serialize\": \"^1.0.0\",\n \"@emotion/sheet\": \"^1.0.1\",\n \"@emotion/utils\": \"^1.0.0\",\n \"@emotion/weak-memoize\": \"^0.2.5\",\n \"hoist-non-react-statics\": \"^3.3.1\"\n },\n peerDependencies: {\n \"@babel/core\": \"^7.0.0\",\n react: \">=16.8.0\"\n },\n peerDependenciesMeta: {\n \"@babel/core\": {\n optional: true\n },\n \"@types/react\": {\n optional: true\n }\n },\n devDependencies: {\n \"@babel/core\": \"^7.7.2\",\n \"@emotion/css\": \"11.1.3\",\n \"@emotion/css-prettifier\": \"1.0.0\",\n \"@emotion/server\": \"11.0.0\",\n \"@emotion/styled\": \"11.1.5\",\n \"@types/react\": \"^16.9.11\",\n dtslint: \"^0.3.0\",\n \"html-tag-names\": \"^1.1.2\",\n react: \"16.14.0\",\n \"svg-tag-names\": \"^1.1.1\"\n },\n repository: \"https://github.com/emotion-js/emotion/tree/master/packages/react\",\n publishConfig: {\n access: \"public\"\n },\n \"umd:main\": \"dist/emotion-react.umd.min.js\",\n preconstruct: {\n entrypoints: [\"./index.js\", \"./jsx-runtime.js\", \"./jsx-dev-runtime.js\", \"./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js\"],\n umdName: \"emotionReact\"\n }\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, typeof styles === 'function' || Array.isArray(styles) ? useContext(ThemeContext) : undefined); // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n sheet.hydrate([node]);\n }\n\n sheetRef.current = sheet;\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n var sheet = sheetRef.current;\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (_typeof(arg)) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n {\n insertStyles(cache, serialized, false);\n }\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n var globalContext = isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { jsx, keyframes, css as css$2, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport AutosizeInput from 'react-input-autosize';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty$1 from '@babel/runtime/helpers/esm/defineProperty';\nimport { createContext, Component } from 'react';\nimport { createPortal } from 'react-dom';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof2(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n} // ==============================\n// NO OP\n// ==============================\n\n\nvar noop = function noop() {}; // Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Clean Common Props\n// ==============================\n\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n\n var innerProps = _objectWithoutProperties(props, [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"]);\n\n return _objectSpread2({}, innerProps);\n}; // ==============================\n// Handle Input Change\n// ==============================\n\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\n\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n} // Touch Capability Detector\n// ==============================\n\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n} // ==============================\n// Passive Event Detector\n// ==============================\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\n\n\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n\n}; // check for SSR\n\nvar w = typeof window !== 'undefined' ? window : {};\n\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\n\nvar supportsPassiveEvents = passiveOptionAccessed;\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty$1(_ref3, alignToControl(placement), '100%'), _defineProperty$1(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty$1(_ref3, \"borderRadius\", borderRadius), _defineProperty$1(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty$1(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty$1(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty$1(_ref3, \"position\", 'absolute'), _defineProperty$1(_ref3, \"width\", '100%'), _defineProperty$1(_ref3, \"zIndex\", 1), _ref3;\n};\n\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\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 = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread2(_objectSpread2({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\n\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // Menu List\n// ==============================\n\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\n\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\n\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\n\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\n\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\n\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\n\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n className = _this$props2.className,\n controlElement = _this$props2.controlElement,\n cx = _this$props2.cx,\n innerProps = _this$props2.innerProps,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", _extends({\n css: getStyles('menuPortal', state),\n className: cx({\n 'menu-portal': true\n }, className)\n }, innerProps), children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\n\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\n\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", _extends({\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\n\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n getStyles = props.getStyles;\n return jsx(\"div\", _extends({\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, innerProps), children);\n};\n\nvar _templateObject;\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"8mmkcg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"\n} : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n}; // ==============================\n// Dropdown & Clear Icons\n// ==============================\n\n\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\n\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\n\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }, innerProps), children || jsx(DownChevron, null));\n};\n\nvar clearIndicatorCSS = baseCSS;\n\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }, innerProps), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\n\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\n\nvar loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\n\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/css$2({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingDot;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }, innerProps), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\n\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", _extends({\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, innerProps), jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\n\nvar GroupHeading = function GroupHeading(props) {\n var getStyles = props.getStyles,\n cx = props.cx,\n className = props.className;\n\n var _cleanCommonProps = cleanCommonProps(props);\n\n _cleanCommonProps.data;\n\n var innerProps = _objectWithoutProperties(_cleanCommonProps, [\"data\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', props),\n className: cx({\n 'group-heading': true\n }, className)\n }, innerProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n innerProps = _objectWithoutProperties(_cleanCommonProps, [\"innerRef\", \"isDisabled\", \"isHidden\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', props)\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\n\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\n\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\n\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\n\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\n\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }, innerProps),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\n\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread2(_objectSpread2({}, components), props.components);\n};\n\nexport { isMobileDevice as A, classNames as B, defaultComponents as C, isDocumentElement as D, cleanValue as E, scrollIntoView as F, noop as G, handleInputChange as H, MenuPlacer as M, _createSuper as _, _objectSpread2 as a, clearIndicatorCSS as b, components as c, containerCSS as d, css as e, dropdownIndicatorCSS as f, groupCSS as g, groupHeadingCSS as h, indicatorsContainerCSS as i, indicatorSeparatorCSS as j, inputCSS as k, loadingIndicatorCSS as l, loadingMessageCSS as m, menuCSS as n, menuListCSS as o, menuPortalCSS as p, multiValueCSS as q, multiValueLabelCSS as r, supportsPassiveEvents as s, multiValueRemoveCSS as t, noOptionsMessageCSS as u, optionCSS as v, placeholderCSS as w, css$1 as x, valueContainerCSS as y, isTouchCapable as z };","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n var nativeCodeString = '[native code]';\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = _typeof(arg);\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n classes.push(arg.toString());\n continue;\n }\n\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && _typeof(define.amd) === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = _typeof(arg);\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && _typeof(define.amd) === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","module.exports = require(\"regenerator-runtime\");\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\nmodule.exports = isArray;","import { atom, selector } from 'recoil';\nimport { createFilter } from 'react-select';\nimport type { Config } from '@/lib/react-select/types';\nimport { defaultFilterConfig } from '@/lib/react-select/config';\n\nexport type FormKind = {\n workProperty: 'select' | 'cascader';\n workContent: 'select' | 'cascader';\n delimiter: string;\n};\n\nexport interface DailyReportConfigureState {\n projectSelect: Config;\n workContentSelect: Config;\n workDetailSelect: Config;\n}\n\nexport type DailyreportsFilterOption = {\n projectFilterOption: ReturnType;\n workContentFilterOption: ReturnType;\n workDetailFilterOption: ReturnType;\n};\n\nexport const formKind = atom({\n key: 'atom/formKind',\n default: {\n workProperty: 'select',\n workContent: 'select',\n delimiter: ';',\n },\n});\n\nexport const dailyreportsConfigureState = atom({\n key: 'dailyreportsConfigure',\n default: {\n projectSelect: defaultFilterConfig,\n workContentSelect: defaultFilterConfig,\n workDetailSelect: defaultFilterConfig,\n },\n});\n\nexport const dailyreportsFilterOption = selector({\n key: 'selector/dailyreportsConfigure/filterOption',\n get: ({ get }) => {\n const configure = get(dailyreportsConfigureState);\n\n return {\n projectFilterOption: createFilter(configure.projectSelect),\n workContentFilterOption: createFilter(configure.workContentSelect),\n workDetailFilterOption: createFilter(configure.workDetailSelect),\n };\n },\n});\n\nexport type EmployeeSelectFilterOption = ReturnType;\n\nexport const employeeSelectFilterOptionState = atom({\n key: 'atom/employeeSelect/FilterOption',\n default: defaultFilterConfig,\n});\n\nexport const employeeSelectFilterOption = selector<>({\n key: 'selector/employeeSelect/filterOption',\n get: ({ get }) => {\n const configure = get(employeeSelectFilterOptionState);\n\n return createFilter(configure);\n },\n});\n","import type { Config } from './types';\nimport { defaultFilterConfig } from './config';\n\nconst withoutUndefineValue = (value: T): Partial =>\n Object.keys(value).reduce((acc, key) => {\n if (value[key] === undefined) {\n return acc;\n }\n acc[key] = value[key];\n\n return acc;\n }, {});\n\nexport const createFilterConfig = (value: Partial): Config => {\n const v = withoutUndefineValue(value);\n\n return {\n ...defaultFilterConfig,\n ...v,\n };\n};\n","import { MutableSnapshot } from 'recoil';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport {\n dailyreportsConfigureState,\n formKind,\n FormKind,\n} from '@/store/dailyreports-configure';\nimport {\n workPropertiesState,\n workPropertiesWithCascadeState,\n workContentsState,\n workContentsWithCascadeState,\n workDetailsState,\n departmentsState,\n dailyreportState,\n formTypeCMetaDataState,\n} from '@/store/dailyreports/atom';\nimport { createFilterConfig } from '@/lib/react-select/create-filter-config';\nimport type { WorkProperty, WorkContent, Department } from '@/interface';\n\nexport interface InitializeState {\n projectMatchFrom?: 'any' | 'start';\n workContentMatchFrom?: 'any' | 'start';\n workDetailMatchFrom?: 'any' | 'start';\n formKind?: FormKind;\n workProperties: WorkProperty[];\n workPropertiesWithCascade: Array;\n workContents: Array;\n workContentsWithCascade: Array;\n workDetails: Array;\n departments: Array;\n dailyReportDate: string;\n}\n\ntype FN = (\n state: InitializeState,\n) => (mutableSnapshot: MutableSnapshot) => void;\n\nconst createDailyreportsConfigureStateWithDefault = (\n state: InitializeState,\n) => {\n const projectSelect = createFilterConfig({\n matchFrom: state.projectMatchFrom,\n });\n const workContentSelect = createFilterConfig({\n matchFrom: state.workContentMatchFrom,\n });\n const workDetailSelect = createFilterConfig({\n matchFrom: state.workDetailMatchFrom,\n });\n\n return {\n projectSelect,\n workContentSelect,\n workDetailSelect,\n };\n};\n\nexport const initializeState: FN =\n (state) =>\n ({ set }) => {\n set(\n dailyreportsConfigureState,\n createDailyreportsConfigureStateWithDefault(state),\n );\n set(workPropertiesState, state.workProperties);\n set(workPropertiesWithCascadeState, state.workPropertiesWithCascade);\n set(workContentsState, state.workContents);\n set(workContentsWithCascadeState, state.workContentsWithCascade);\n set(workDetailsState, state.workDetails);\n set(departmentsState, state.departments);\n if (state.dailyReportDate !== undefined) {\n const date = state.dailyReportDate.split('T')[0];\n set(dailyreportState, { date });\n }\n\n if (state.formKind) {\n set(formKind, state.formKind);\n }\n };\n\ntype FNT = (state: {\n departments: Array;\n}) => (mutableSnapshot: MutableSnapshot) => void;\n\nexport const initializeThanksState: FNT =\n (state) =>\n ({ set }) => {\n set(departmentsState, state.departments);\n };\n\nexport type InitializeFormTypeCState = {\n dailyReportDate: string;\n workContents: Array;\n workContentsWithCascade: Array;\n formKind?: FormKind;\n dummyWorkProperty: WorkProperty;\n breaktimeWorkContent: WorkContent;\n};\n\nexport const initializeFormTypeCState =\n (state: InitializeFormTypeCState) =>\n ({ set }: MutableSnapshot) => {\n set(workContentsState, state.workContents);\n set(workContentsWithCascadeState, state.workContentsWithCascade);\n set(formTypeCMetaDataState, {\n dummyWorkProperty: state.dummyWorkProperty,\n breaktimeWorkContent: state.breaktimeWorkContent,\n });\n\n if (state.dailyReportDate !== undefined) {\n const date = state.dailyReportDate.split('T')[0];\n set(dailyreportState, { date });\n }\n\n if (state.formKind) {\n set(formKind, state.formKind);\n }\n };\n\n export type InitializeFormTypeDState = InitializeFormTypeCState & {\n departments: Array;\n };\n\n export const initializeFormTypeDState =\n (state: InitializeFormTypeDState) =>\n ({ set }: MutableSnapshot) => {\n set(workContentsState, state.workContents);\n set(workContentsWithCascadeState, state.workContentsWithCascade);\n set(formTypeCMetaDataState, {\n dummyWorkProperty: state.dummyWorkProperty,\n breaktimeWorkContent: state.breaktimeWorkContent,\n });\n\n set(departmentsState, state.departments);\n\n if (state.dailyReportDate !== undefined) {\n const date = state.dailyReportDate.split('T')[0];\n set(dailyreportState, { date });\n }\n\n if (state.formKind) {\n set(formKind, state.formKind);\n }\n };\n","import React, { FC, ReactNode } from 'react';\n\ninterface SectionLayoutProps {\n title: string;\n children: ReactNode;\n}\n\nexport const SectionLayout: FC = (props) => {\n const {\n title,\n children,\n } = props;\n\n return (\n
\n

\n {title}\n

\n
\n {children}\n
\n
\n );\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","export * from './WorkPropertySelect';\nexport * from './WorkPropertyCascader';\nexport * from './WorkItemSelect';\nexport * from './WorkItemCascader';\n","import { useState } from 'react';\nimport type { Work, DispatchReturn } from '@/interface';\nimport { isValidWork } from '@/utils/isValidWork';\nimport { isTimePeriodValid, isNoOverlapValid } from '@/validators';\n\nconst isValid = (works: Array, work: Work): boolean => {\n const x = isValidWork(work);\n const y = isTimePeriodValid(work);\n const z = isNoOverlapValid(works, work);\n\n return x && y && z[0];\n};\n\ntype UseDailyReportTypeAControl = {\n worksState: DispatchReturn>;\n newWorkState: DispatchReturn>;\n};\n\nexport const useDailyReportTypeAControl = ({\n worksState,\n newWorkState,\n}: UseDailyReportTypeAControl) => {\n const [newWork, setNewWork] = newWorkState;\n const [works, setWorks] = worksState;\n\n const [addEnable, setAddEnable] = useState(() => isValid(works, newWork));\n\n const handleChange = (work: Work) => {\n setNewWork(work);\n setAddEnable(isValid(works, work));\n };\n\n const handleAdd = () => {\n setWorks([...works, newWork]);\n // フォームをリセット\n setNewWork({\n id: null,\n workContent: null,\n workProperty: null,\n workDetail: null,\n amount: null,\n startAt: '',\n endAt: '',\n includeRest: false,\n });\n setAddEnable(false);\n };\n\n const handleDelete = (index: number) => {\n setWorks(works.filter((_, i) => i !== index));\n };\n\n const handleSubmit = () => undefined;\n\n return {\n newWork,\n works,\n handleChange,\n\n handleAdd,\n handleDelete,\n handleSubmit,\n addEnable,\n };\n};\n","import { useCallback, ChangeEvent } from 'react';\nimport { DateTime } from 'luxon';\nimport { useRecoilValue } from 'recoil';\nimport type {\n WorkContent,\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n DispatchReturn,\n} from '@/interface';\nimport { initNewWorkWithWorkingForm } from '@/const';\nimport { formTypeCMetaDataState } from '@/store/dailyreports/atom';\nimport { isValidWorkWithWorking } from '@/utils/isValidWork';\n\ntype UseDailyReportTypeCControl = {\n worksState: DispatchReturn>;\n workingWorkState: DispatchReturn;\n newWorkState: DispatchReturn;\n};\n\nexport const useDailyReportTypeCControl = ({\n worksState,\n workingWorkState,\n newWorkState,\n}: UseDailyReportTypeCControl) => {\n const { dummyWorkProperty, breaktimeWorkContent } = useRecoilValue(\n formTypeCMetaDataState,\n );\n const [newWork, setNewWork] = newWorkState;\n const [workingWork, setWorkingWork] = workingWorkState;\n const [works, setWorks] = worksState;\n\n const handleChange = useCallback(\n (value: { id: number; name: string } | null) => {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n setNewWork({\n ...newWork,\n workContent: value as WorkContent,\n startAt,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleChangeStartAt = useCallback(\n (event: ChangeEvent) => {\n setNewWork({\n ...newWork,\n startAt: event.target.value,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleAdd = useCallback(() => {\n if (!isValidWorkWithWorking(newWork)) {\n return;\n }\n\n setWorkingWork({\n ...newWork,\n object: 'newWorkWithWorking',\n });\n setNewWork({\n ...initNewWorkWithWorkingForm,\n });\n\n if (workingWork !== null) {\n setWorks([\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: newWork.startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ]);\n }\n }, [\n setWorks,\n setNewWork,\n newWork,\n workingWork,\n works,\n dummyWorkProperty,\n setWorkingWork,\n ]);\n\n const handleDelete = useCallback(\n (index: number) => {\n setWorks(works.filter((_, i) => i !== index));\n },\n [setWorks, works],\n );\n\n const handleClickBreaktime = useCallback(() => {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n setWorkingWork({\n object: 'newWorkWithWorking',\n type: 'breaktime',\n workContent: breaktimeWorkContent,\n startAt,\n });\n setNewWork({\n ...initNewWorkWithWorkingForm,\n });\n\n if (workingWork !== null) {\n setWorks([\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ]);\n }\n }, [\n setWorkingWork,\n setNewWork,\n setWorks,\n workingWork,\n works,\n dummyWorkProperty,\n breaktimeWorkContent,\n ]);\n\n const handleWorkingDelete = useCallback(() => {\n setWorkingWork(null);\n }, [setWorkingWork]);\n\n const handleSubmit = useCallback(() => {\n if (workingWork !== null) {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n const updateWorks = [\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ];\n setWorks(updateWorks);\n }\n setWorkingWork(null);\n }, [setWorkingWork, setWorks, works, workingWork]);\n\n return {\n newWork,\n workingWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n handleSubmit,\n handleWorkingDelete,\n };\n};\n","import React, { useCallback, useRef } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Dialog } from 'antd-mobile';\nimport type { Work, NewWorkWithWorking, DispatchReturn } from '@/interface';\nimport { isNewWorkWithWorking } from '@/utils';\nimport { WorkFormTypeC } from '@/components/form/DailyReportViewTypeC/WorkFormTypeC';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\n\ntype UseDailyReportTypeCDialogControl = {\n workingWorkState: DispatchReturn;\n};\n\nexport const useDailyReportTypeCWorkingEditDialogControl = ({\n workingWorkState,\n}: UseDailyReportTypeCDialogControl) => {\n const [, setWorkingWork] = workingWorkState;\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const formRef = useRef<{ getWork: () => Work | NewWorkWithWorking }>();\n\n const handleWorkingEdit = useCallback(\n (work: NewWorkWithWorking) => {\n Dialog.confirm({\n content: (\n \n ),\n cancelText: 'キャンセル',\n confirmText: '変更',\n onConfirm: () => {\n const v = formRef.current.getWork();\n if (isNewWorkWithWorking(v)) {\n setWorkingWork(v);\n }\n },\n });\n },\n [setWorkingWork, formKindConfigure.delimiter, workContentOptions, workContents],\n );\n\n return {\n handleWorkingEdit,\n };\n};\n","import React, { useCallback, useRef } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Dialog, Toast } from 'antd-mobile';\nimport type { Work, NewWorkWithWorking, DispatchReturn } from '@/interface';\nimport { isWork } from '@/utils';\nimport { isTimePeriodValid } from '@/validators';\nimport { WorkFormTypeC } from '@/components/form/DailyReportViewTypeC/WorkFormTypeC';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\n\ntype UseDailyReportTypeCWorkEditDialogControl = {\n worksState: DispatchReturn>;\n};\n\nexport const useDailyReportTypeCWorkEditDialogControl = ({\n worksState,\n}: UseDailyReportTypeCWorkEditDialogControl) => {\n const [works, setWorks] = worksState;\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const formRef = useRef<{ getWork: () => Work | NewWorkWithWorking }>();\n\n const handleWorkEdit = useCallback(\n (index: number, work: Work) => {\n Dialog.confirm({\n content: (\n \n ),\n cancelText: 'キャンセル',\n confirmText: '変更',\n onConfirm: async () => {\n const v = formRef.current.getWork();\n if (isWork(v) && isTimePeriodValid(v)) {\n const updatedWorks = works.map((x, i) => (i === index ? v : x));\n setWorks(updatedWorks);\n } else {\n Toast.show({\n icon: 'fail',\n content: '終了時刻を開始時刻より後にしてください',\n position: 'top',\n });\n throw new Error('終了時刻を開始時刻より後にしてください');\n }\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [setWorks, works],\n );\n\n return {\n handleWorkEdit,\n };\n};\n","import { useState } from 'react';\nimport type {\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n DispatchReturn,\n} from '@/interface';\nimport { initNewWorkWithWorkingForm } from '@/const';\n\ntype UseDailyReportTypeC = {\n defaultValue: Array;\n};\n\nexport const useDailyReportTypeC = ({ defaultValue }: UseDailyReportTypeC) => {\n const [newWork, setNewWork] = useState(\n initNewWorkWithWorkingForm,\n );\n\n const [workingWork, setWorkingWork] = useState(\n null,\n );\n\n const [works, setWorks] = useState>(defaultValue ?? []);\n\n return {\n newWorkState: [\n newWork,\n (v: NewWorkWithWorkingForm) => setNewWork(v),\n () => undefined,\n ] as DispatchReturn,\n workingWorkState: [\n workingWork,\n (v: NewWorkWithWorking | null) => setWorkingWork(v),\n () => undefined,\n ] as DispatchReturn,\n worksState: [\n works,\n (v: Array) => setWorks(v),\n () => undefined,\n ] as DispatchReturn>,\n };\n};\n","import { useState } from 'react';\nimport type { Work, DispatchReturn } from '@/interface';\nimport { initNewWork } from '@/const';\n\ntype UseDailyReport = {\n defaultValue: Array;\n};\n\nexport const useDailyReport = ({ defaultValue }: UseDailyReport) => {\n const [newWork, setNewWork] = useState>(initNewWork);\n const [works, setWorks] = useState>(defaultValue ?? []);\n\n return {\n newWorkState: [\n newWork,\n (v: Work) => setNewWork(v),\n () => undefined,\n ] as DispatchReturn,\n worksState: [\n works,\n (v: Array) => setWorks(v),\n () => undefined,\n ] as DispatchReturn>,\n };\n};\n","import type { Work } from '@/interface';\nimport { useLocalStorage } from '@rehooks/local-storage';\nimport { initNewWork } from '@/const';\n\ntype UseDailyReportPersist = {\n dailyReportDate: string;\n defaultValue: Array;\n};\n\nexport const useDailyReportPersist = ({\n dailyReportDate,\n defaultValue,\n}: UseDailyReportPersist) => {\n const DDD = `DRAFT_DR_${dailyReportDate}`;\n const DNDD = `DRAFT_NEWDR_${dailyReportDate}`;\n\n const works = useLocalStorage>(DDD, defaultValue);\n const newWork = useLocalStorage(DNDD, { ...initNewWork, id: null });\n\n return { works, newWork };\n};\n","import { useCallback, ChangeEvent } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Toast } from 'antd-mobile';\nimport type { WorkContent, Work, DispatchReturn } from '@/interface';\nimport { initNewWork } from '@/const';\nimport { formTypeCMetaDataState } from '@/store/dailyreports/atom';\nimport { isValidWork } from '@/utils/isValidWork';\nimport { isTimePeriodValid } from '@/validators';\n\ntype UseDailyReportRepresentTypeCControl = {\n worksState: DispatchReturn>;\n newWorkState: DispatchReturn;\n};\n\nexport const useDailyReportRepresentTypeCControl = ({\n worksState,\n newWorkState,\n}: UseDailyReportRepresentTypeCControl) => {\n const { dummyWorkProperty, breaktimeWorkContent } = useRecoilValue(\n formTypeCMetaDataState,\n );\n const [newWork, setNewWork] = newWorkState;\n const [works, setWorks] = worksState;\n\n const handleChange = useCallback(\n (value: { id: number; name: string } | null) => {\n setNewWork({\n ...newWork,\n workProperty: dummyWorkProperty,\n workContent: value as WorkContent,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleChangeStartAt = useCallback(\n (event: ChangeEvent) => {\n setNewWork({\n ...newWork,\n startAt: event.target.value,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleChangeEndAt = useCallback(\n (event: ChangeEvent) => {\n setNewWork({\n ...newWork,\n endAt: event.target.value,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleAdd = useCallback(() => {\n if (!isValidWork(newWork)) {\n Toast.show({\n icon: 'fail',\n content: '作業内容を入力してください',\n position: 'top',\n });\n\n return;\n }\n\n if (!isTimePeriodValid(newWork)) {\n Toast.show({\n icon: 'fail',\n content: '終了時刻を開始時刻より後にしてください',\n position: 'top',\n });\n\n return;\n }\n\n const updateWorks = [\n ...works,\n {\n ...newWork,\n },\n ];\n setWorks(updateWorks);\n setNewWork({ ...initNewWork } as Work);\n }, [setWorks, setNewWork, newWork, works, dummyWorkProperty]);\n\n const handleDelete = useCallback(\n (index: number) => {\n setWorks(works.filter((_, i) => i !== index));\n },\n [setWorks, works],\n );\n\n const handleClickBreaktime = useCallback(() => {\n setNewWork({\n ...newWork,\n workProperty: dummyWorkProperty,\n workContent: breaktimeWorkContent,\n });\n }, [setNewWork, newWork, dummyWorkProperty, breaktimeWorkContent]);\n\n return {\n newWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleChangeEndAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n };\n};\n","import { useState } from 'react';\n\ntype SelectOptions = Array<{ label: string; value: string }>;\n\nexport const useDailyReportRepresentationControl = () => {\n const [selectedUsers, setSelectedUsers] = useState([]);\n\n const handleChangePerson = (value: SelectOptions) => {\n setSelectedUsers(value);\n };\n\n return { selectedUsers, handleChangePerson };\n};\n","import { useMemo } from 'react';\nimport { User } from '@/interface';\nimport { useUsersWithUnsubmit } from '@/hooks/api';\n\ntype SelectOptions = Array<{ label: string; value: string }>;\n\n// @params format for yyyy-MM-dd\ntype UseFetchUnsubmitUsers = {\n date: string;\n users: Array;\n};\n\nexport const useFetchUnsubmitUsers = ({\n date,\n users,\n}: UseFetchUnsubmitUsers) => {\n const { users: fetchUsers, isLoading } = useUsersWithUnsubmit(\n { target: date },\n users,\n );\n\n const options = useMemo(\n () =>\n fetchUsers.map((user) => ({\n label: user.name,\n value: user.id.toString(),\n })),\n [fetchUsers],\n );\n\n return { options, isLoading };\n};\n","import { useCallback, ChangeEvent } from 'react';\nimport { DateTime } from 'luxon';\nimport { useRecoilValue } from 'recoil';\nimport type {\n WorkContent,\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n DispatchReturn,\n} from '@/interface';\nimport { initNewWorkWithWorkingForm } from '@/const';\nimport { formTypeCMetaDataState } from '@/store/dailyreports/atom';\nimport { isValidWorkWithWorking } from '@/utils/isValidWork';\n\ntype UseDailyReportTypeDControl = {\n worksState: DispatchReturn>;\n workingWorkState: DispatchReturn;\n newWorkState: DispatchReturn;\n};\n\nexport const useDailyReportTypeDControl = ({\n worksState,\n workingWorkState,\n newWorkState,\n}: UseDailyReportTypeDControl) => {\n const { dummyWorkProperty, breaktimeWorkContent } = useRecoilValue(\n formTypeCMetaDataState,\n );\n const [newWork, setNewWork] = newWorkState;\n const [workingWork, setWorkingWork] = workingWorkState;\n const [works, setWorks] = worksState;\n\n const handleQuantityChange = (quantity: number) => {\n setWorkingWork({\n ...workingWork,\n quantity\n })\n };\n\n const handleChange = useCallback(\n (value: { id: number; name: string } | null) => {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n setNewWork({\n ...newWork,\n workContent: value as WorkContent,\n startAt,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleChangeStartAt = useCallback(\n (event: ChangeEvent) => {\n setNewWork({\n ...newWork,\n startAt: event.target.value,\n });\n },\n [setNewWork, newWork],\n );\n\n const handleAdd = useCallback(() => {\n if (!isValidWorkWithWorking(newWork)) {\n return;\n }\n\n setWorkingWork({\n ...newWork,\n quantity: 0,\n object: 'newWorkWithWorking',\n });\n setNewWork({\n ...initNewWorkWithWorkingForm,\n });\n\n if (workingWork !== null) {\n setWorks([\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: newWork.startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ]);\n }\n }, [\n setWorks,\n setNewWork,\n newWork,\n workingWork,\n works,\n dummyWorkProperty,\n setWorkingWork,\n ]);\n\n const handleDelete = useCallback(\n (index: number) => {\n setWorks(works.filter((_, i) => i !== index));\n },\n [setWorks, works],\n );\n\n const handleClickBreaktime = useCallback(() => {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n setWorkingWork({\n object: 'newWorkWithWorking',\n type: 'breaktime',\n workContent: breaktimeWorkContent,\n startAt,\n quantity: 0\n });\n setNewWork({\n ...initNewWorkWithWorkingForm,\n });\n\n if (workingWork !== null) {\n setWorks([\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ]);\n }\n }, [\n setWorkingWork,\n setNewWork,\n setWorks,\n workingWork,\n works,\n dummyWorkProperty,\n breaktimeWorkContent,\n ]);\n\n const handleWorkingDelete = useCallback(() => {\n setWorkingWork(null);\n }, [setWorkingWork]);\n\n const handleSubmit = useCallback(() => {\n if (workingWork !== null) {\n const now = DateTime.now();\n const startAt = now.setZone('Asia/Tokyo').toFormat('HH:mm');\n const updateWorks = [\n ...works,\n {\n ...workingWork,\n object: undefined,\n endAt: startAt,\n workProperty: dummyWorkProperty,\n includeRest: false,\n } as Work,\n ];\n setWorks(updateWorks);\n }\n setWorkingWork(null);\n }, [setWorkingWork, setWorks, works, workingWork]);\n\n return {\n newWork,\n workingWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n handleSubmit,\n handleWorkingDelete,\n handleQuantityChange,\n };\n};\n","import React, { useCallback, useRef } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Dialog, Toast } from 'antd-mobile';\nimport type { Work, NewWorkWithWorking, DispatchReturn } from '@/interface';\nimport { isWork } from '@/utils';\nimport { isTimePeriodValid } from '@/validators';\nimport { WorkFormTypeD } from '@/components/form/DailyReportViewTypeD/WorkFormTypeD';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\n\ntype UseDailyReportTypeDWorkEditDialogControl = {\n worksState: DispatchReturn>;\n};\n\nexport const useDailyReportTypeDWorkEditDialogControl = ({\n worksState,\n}: UseDailyReportTypeDWorkEditDialogControl) => {\n const [works, setWorks] = worksState;\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const formRef = useRef<{ getWork: () => Work | NewWorkWithWorking }>();\n\n const handleWorkEdit = useCallback(\n (index: number, work: Work) => {\n Dialog.confirm({\n content: (\n \n ),\n cancelText: 'キャンセル',\n confirmText: '変更',\n onConfirm: async () => {\n const v = formRef.current.getWork();\n if (isWork(v) && isTimePeriodValid(v)) {\n const updatedWorks = works.map((x, i) => (i === index ? v : x));\n setWorks(updatedWorks);\n } else {\n Toast.show({\n icon: 'fail',\n content: '終了時刻を開始時刻より後にしてください',\n position: 'top',\n });\n throw new Error('終了時刻を開始時刻より後にしてください');\n }\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [setWorks, works],\n );\n\n return {\n handleWorkEdit,\n };\n};\n","import type {\n Work,\n} from '@/interface';\nimport { useDailyReportTypeC } from '@/hooks/dailyReport/useDailyReportTypeC';\n\ntype UseDailyReportTypeD = {\n defaultValue: Array;\n};\n\nexport const useDailyReportTypeD = (props: UseDailyReportTypeD): ReturnType => useDailyReportTypeC(props)\n","import React, { useCallback, useRef } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Dialog } from 'antd-mobile';\nimport type { Work, NewWorkWithWorking, DispatchReturn } from '@/interface';\nimport { isNewWorkWithWorking } from '@/utils';\nimport { WorkFormTypeD } from '@/components/form/DailyReportViewTypeD/WorkFormTypeD';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\n\ntype UseDailyReportTypeDDialogControl = {\n workingWorkState: DispatchReturn;\n};\n\nexport const useDailyReportTypeDWorkingEditDialogControl = ({\n workingWorkState,\n}: UseDailyReportTypeDDialogControl): { handleWorkingEdit: (work: NewWorkWithWorking) => void } => {\n const [, setWorkingWork] = workingWorkState;\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const formRef = useRef<{ getWork: () => Work | NewWorkWithWorking }>();\n\n const handleWorkingEdit = useCallback(\n (work: NewWorkWithWorking) => {\n Dialog.confirm({\n content: (\n \n ),\n cancelText: 'キャンセル',\n confirmText: '変更',\n onConfirm: () => {\n const v = formRef.current.getWork();\n if (isNewWorkWithWorking(v)) {\n setWorkingWork(v);\n }\n },\n });\n },\n [setWorkingWork, formKindConfigure.delimiter, workContentOptions, workContents],\n );\n\n return {\n handleWorkingEdit,\n };\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n;\n\n(function (globalObject) {\n 'use strict';\n /*\r\n * bignumber.js v9.1.2\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\n\n var BigNumber,\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\n mathceil = Math.ceil,\n mathfloor = Math.floor,\n bignumberError = '[BigNumber Error] ',\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\n BASE = 1e14,\n LOG_BASE = 14,\n MAX_SAFE_INTEGER = 0x1fffffffffffff,\n // 2^53 - 1\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\n SQRT_BASE = 1e7,\n // EDITABLE\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\n MAX = 1E9; // 0 to MAX_INT32\n\n /*\r\n * Create and return a BigNumber constructor.\r\n */\n\n function clone(configObject) {\n var div,\n convertBase,\n parseNumeric,\n P = BigNumber.prototype = {\n constructor: BigNumber,\n toString: null,\n valueOf: null\n },\n ONE = new BigNumber(1),\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\n // The default values below must be integers within the inclusive ranges stated.\n // The values can also be changed at run-time using BigNumber.set.\n // The maximum number of decimal places for operations involving division.\n DECIMAL_PLACES = 20,\n // 0 to MAX\n // The rounding mode used when rounding to the above decimal places, and when using\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\n // UP 0 Away from zero.\n // DOWN 1 Towards zero.\n // CEIL 2 Towards +Infinity.\n // FLOOR 3 Towards -Infinity.\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\n ROUNDING_MODE = 4,\n // 0 to 8\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\n // The exponent value at and beneath which toString returns exponential notation.\n // Number type: -7\n TO_EXP_NEG = -7,\n // 0 to -MAX\n // The exponent value at and above which toString returns exponential notation.\n // Number type: 21\n TO_EXP_POS = 21,\n // 0 to MAX\n // RANGE : [MIN_EXP, MAX_EXP]\n // The minimum exponent value, beneath which underflow to zero occurs.\n // Number type: -324 (5e-324)\n MIN_EXP = -1e7,\n // -1 to -MAX\n // The maximum exponent value, above which overflow to Infinity occurs.\n // Number type: 308 (1.7976931348623157e+308)\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\n MAX_EXP = 1e7,\n // 1 to MAX\n // Whether to use cryptographically-secure random number generation, if available.\n CRYPTO = false,\n // true or false\n // The modulo mode used when calculating the modulus: a mod n.\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\n // The remainder (r) is calculated as: r = a - n * q.\n //\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\n // DOWN 1 The remainder has the same sign as the dividend.\n // This modulo mode is commonly known as 'truncated division' and is\n // equivalent to (a % n) in JavaScript.\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\n // The remainder is always positive.\n //\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\n // modes are commonly used for the modulus operation.\n // Although the other rounding modes can also be used, they may not give useful results.\n MODULO_MODE = 1,\n // 0 to 9\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\n // If POW_PRECISION is 0, there will be unlimited significant digits.\n POW_PRECISION = 0,\n // 0 to MAX\n // The format specification used by the BigNumber.prototype.toFormat method.\n FORMAT = {\n prefix: '',\n groupSize: 3,\n secondaryGroupSize: 0,\n groupSeparator: ',',\n decimalSeparator: '.',\n fractionGroupSize: 0,\n fractionGroupSeparator: '\\xA0',\n // non-breaking space\n suffix: ''\n },\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\n // '-', '.', whitespace, or repeated character.\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\n alphabetHasNormalDecimalDigits = true; //------------------------------------------------------------------------------------------\n // CONSTRUCTOR\n\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\n\n function BigNumber(v, b) {\n var alphabet,\n c,\n caseChanged,\n e,\n i,\n isNum,\n len,\n str,\n x = this; // Enable constructor call without `new`.\n\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\n\n if (b == null) {\n if (v && v._isBigNumber === true) {\n x.s = v.s;\n\n if (!v.c || v.e > MAX_EXP) {\n x.c = x.e = null;\n } else if (v.e < MIN_EXP) {\n x.c = [x.e = 0];\n } else {\n x.e = v.e;\n x.c = v.c.slice();\n }\n\n return;\n }\n\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\n // Use `1 / n` to handle minus zero also.\n x.s = 1 / v < 0 ? (v = -v, -1) : 1; // Fast path for integers, where n < 2147483648 (2**31).\n\n if (v === ~~v) {\n for (e = 0, i = v; i >= 10; i /= 10, e++) {\n ;\n }\n\n if (e > MAX_EXP) {\n x.c = x.e = null;\n } else {\n x.e = e;\n x.c = [v];\n }\n\n return;\n }\n\n str = String(v);\n } else {\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\n } // Decimal point?\n\n\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', ''); // Exponential form?\n\n if ((i = str.search(/e/i)) > 0) {\n // Determine exponent.\n if (e < 0) e = i;\n e += +str.slice(i + 1);\n str = str.substring(0, i);\n } else if (e < 0) {\n // Integer.\n e = str.length;\n }\n } else {\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\n intCheck(b, 2, ALPHABET.length, 'Base'); // Allow exponential notation to be used with base 10 argument, while\n // also rounding to DECIMAL_PLACES as with other bases.\n\n if (b == 10 && alphabetHasNormalDecimalDigits) {\n x = new BigNumber(v);\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\n }\n\n str = String(v);\n\n if (isNum = typeof v == 'number') {\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1; // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\n\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\n throw Error(tooManyDigits + v);\n }\n } else {\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\n }\n\n alphabet = ALPHABET.slice(0, b);\n e = i = 0; // Check that str is a valid base b number.\n // Don't use RegExp, so alphabet can contain special characters.\n\n for (len = str.length; i < len; i++) {\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\n if (c == '.') {\n // If '.' is not the first character and it has not be found before.\n if (i > e) {\n e = len;\n continue;\n }\n } else if (!caseChanged) {\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\n if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {\n caseChanged = true;\n i = -1;\n e = 0;\n continue;\n }\n }\n\n return parseNumeric(x, String(v), isNum, b);\n }\n } // Prevent later check for length on converted number.\n\n\n isNum = false;\n str = convertBase(str, b, 10, x.s); // Decimal point?\n\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');else e = str.length;\n } // Determine leading zeros.\n\n\n for (i = 0; str.charCodeAt(i) === 48; i++) {\n ;\n } // Determine trailing zeros.\n\n\n for (len = str.length; str.charCodeAt(--len) === 48;) {\n ;\n }\n\n if (str = str.slice(i, ++len)) {\n len -= i; // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\n\n if (isNum && BigNumber.DEBUG && len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\n throw Error(tooManyDigits + x.s * v);\n } // Overflow?\n\n\n if ((e = e - i - 1) > MAX_EXP) {\n // Infinity.\n x.c = x.e = null; // Underflow?\n } else if (e < MIN_EXP) {\n // Zero.\n x.c = [x.e = 0];\n } else {\n x.e = e;\n x.c = []; // Transform base\n // e is the base 10 exponent.\n // i is where to slice str to get the first element of the coefficient array.\n\n i = (e + 1) % LOG_BASE;\n if (e < 0) i += LOG_BASE; // i < 1\n\n if (i < len) {\n if (i) x.c.push(+str.slice(0, i));\n\n for (len -= LOG_BASE; i < len;) {\n x.c.push(+str.slice(i, i += LOG_BASE));\n }\n\n i = LOG_BASE - (str = str.slice(i)).length;\n } else {\n i -= len;\n }\n\n for (; i--; str += '0') {\n ;\n }\n\n x.c.push(+str);\n }\n } else {\n // Zero.\n x.c = [x.e = 0];\n }\n } // CONSTRUCTOR PROPERTIES\n\n\n BigNumber.clone = clone;\n BigNumber.ROUND_UP = 0;\n BigNumber.ROUND_DOWN = 1;\n BigNumber.ROUND_CEIL = 2;\n BigNumber.ROUND_FLOOR = 3;\n BigNumber.ROUND_HALF_UP = 4;\n BigNumber.ROUND_HALF_DOWN = 5;\n BigNumber.ROUND_HALF_EVEN = 6;\n BigNumber.ROUND_HALF_CEIL = 7;\n BigNumber.ROUND_HALF_FLOOR = 8;\n BigNumber.EUCLID = 9;\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\n\n BigNumber.config = BigNumber.set = function (obj) {\n var p, v;\n\n if (obj != null) {\n if (_typeof(obj) == 'object') {\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\n v = obj[p];\n intCheck(v, 0, MAX, p);\n DECIMAL_PLACES = v;\n } // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\n\n\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\n v = obj[p];\n intCheck(v, 0, 8, p);\n ROUNDING_MODE = v;\n } // EXPONENTIAL_AT {number|number[]}\n // Integer, -MAX to MAX inclusive or\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\n\n\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\n v = obj[p];\n\n if (v && v.pop) {\n intCheck(v[0], -MAX, 0, p);\n intCheck(v[1], 0, MAX, p);\n TO_EXP_NEG = v[0];\n TO_EXP_POS = v[1];\n } else {\n intCheck(v, -MAX, MAX, p);\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\n }\n } // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\n\n\n if (obj.hasOwnProperty(p = 'RANGE')) {\n v = obj[p];\n\n if (v && v.pop) {\n intCheck(v[0], -MAX, -1, p);\n intCheck(v[1], 1, MAX, p);\n MIN_EXP = v[0];\n MAX_EXP = v[1];\n } else {\n intCheck(v, -MAX, MAX, p);\n\n if (v) {\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\n } else {\n throw Error(bignumberError + p + ' cannot be zero: ' + v);\n }\n }\n } // CRYPTO {boolean} true or false.\n // '[BigNumber Error] CRYPTO not true or false: {v}'\n // '[BigNumber Error] crypto unavailable'\n\n\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\n v = obj[p];\n\n if (v === !!v) {\n if (v) {\n if (typeof crypto != 'undefined' && crypto && (crypto.getRandomValues || crypto.randomBytes)) {\n CRYPTO = v;\n } else {\n CRYPTO = !v;\n throw Error(bignumberError + 'crypto unavailable');\n }\n } else {\n CRYPTO = v;\n }\n } else {\n throw Error(bignumberError + p + ' not true or false: ' + v);\n }\n } // MODULO_MODE {number} Integer, 0 to 9 inclusive.\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\n\n\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\n v = obj[p];\n intCheck(v, 0, 9, p);\n MODULO_MODE = v;\n } // POW_PRECISION {number} Integer, 0 to MAX inclusive.\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\n\n\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\n v = obj[p];\n intCheck(v, 0, MAX, p);\n POW_PRECISION = v;\n } // FORMAT {object}\n // '[BigNumber Error] FORMAT not an object: {v}'\n\n\n if (obj.hasOwnProperty(p = 'FORMAT')) {\n v = obj[p];\n if (_typeof(v) == 'object') FORMAT = v;else throw Error(bignumberError + p + ' not an object: ' + v);\n } // ALPHABET {string}\n // '[BigNumber Error] ALPHABET invalid: {v}'\n\n\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\n v = obj[p]; // Disallow if less than two characters,\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\n\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\n ALPHABET = v;\n } else {\n throw Error(bignumberError + p + ' invalid: ' + v);\n }\n }\n } else {\n // '[BigNumber Error] Object expected: {v}'\n throw Error(bignumberError + 'Object expected: ' + obj);\n }\n }\n\n return {\n DECIMAL_PLACES: DECIMAL_PLACES,\n ROUNDING_MODE: ROUNDING_MODE,\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\n RANGE: [MIN_EXP, MAX_EXP],\n CRYPTO: CRYPTO,\n MODULO_MODE: MODULO_MODE,\n POW_PRECISION: POW_PRECISION,\n FORMAT: FORMAT,\n ALPHABET: ALPHABET\n };\n };\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\n\n\n BigNumber.isBigNumber = function (v) {\n if (!v || v._isBigNumber !== true) return false;\n if (!BigNumber.DEBUG) return true;\n var i,\n n,\n c = v.c,\n e = v.e,\n s = v.s;\n\n out: if ({}.toString.call(c) == '[object Array]') {\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\n // If the first element is zero, the BigNumber value must be zero.\n if (c[0] === 0) {\n if (e === 0 && c.length === 1) return true;\n break out;\n } // Calculate number of digits that c[0] should have, based on the exponent.\n\n\n i = (e + 1) % LOG_BASE;\n if (i < 1) i += LOG_BASE; // Calculate number of digits of c[0].\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\n\n if (String(c[0]).length == i) {\n for (i = 0; i < c.length; i++) {\n n = c[i];\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\n } // Last element cannot be zero, unless it is the only element.\n\n\n if (n !== 0) return true;\n }\n } // Infinity/NaN\n\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\n return true;\n }\n\n throw Error(bignumberError + 'Invalid BigNumber: ' + v);\n };\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\n\n\n BigNumber.maximum = BigNumber.max = function () {\n return maxOrMin(arguments, -1);\n };\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\n\n\n BigNumber.minimum = BigNumber.min = function () {\n return maxOrMin(arguments, 1);\n };\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\n\n\n BigNumber.random = function () {\n var pow2_53 = 0x20000000000000; // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\n // Check if Math.random() produces more than 32 bits of randomness.\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\n\n var random53bitInt = Math.random() * pow2_53 & 0x1fffff ? function () {\n return mathfloor(Math.random() * pow2_53);\n } : function () {\n return (Math.random() * 0x40000000 | 0) * 0x800000 + (Math.random() * 0x800000 | 0);\n };\n return function (dp) {\n var a,\n b,\n e,\n k,\n v,\n i = 0,\n c = [],\n rand = new BigNumber(ONE);\n if (dp == null) dp = DECIMAL_PLACES;else intCheck(dp, 0, MAX);\n k = mathceil(dp / LOG_BASE);\n\n if (CRYPTO) {\n // Browsers supporting crypto.getRandomValues.\n if (crypto.getRandomValues) {\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\n\n for (; i < k;) {\n // 53 bits:\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\n // 11111 11111111 11111111\n // 0x20000 is 2^21.\n v = a[i] * 0x20000 + (a[i + 1] >>> 11); // Rejection sampling:\n // 0 <= v < 9007199254740992\n // Probability that v >= 9e15, is\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\n\n if (v >= 9e15) {\n b = crypto.getRandomValues(new Uint32Array(2));\n a[i] = b[0];\n a[i + 1] = b[1];\n } else {\n // 0 <= v <= 8999999999999999\n // 0 <= (v % 1e14) <= 99999999999999\n c.push(v % 1e14);\n i += 2;\n }\n }\n\n i = k / 2; // Node.js supporting crypto.randomBytes.\n } else if (crypto.randomBytes) {\n // buffer\n a = crypto.randomBytes(k *= 7);\n\n for (; i < k;) {\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\n // 0x100000000 is 2^32, 0x1000000 is 2^24\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\n // 0 <= v < 9007199254740992\n v = (a[i] & 31) * 0x1000000000000 + a[i + 1] * 0x10000000000 + a[i + 2] * 0x100000000 + a[i + 3] * 0x1000000 + (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\n\n if (v >= 9e15) {\n crypto.randomBytes(7).copy(a, i);\n } else {\n // 0 <= (v % 1e14) <= 99999999999999\n c.push(v % 1e14);\n i += 7;\n }\n }\n\n i = k / 7;\n } else {\n CRYPTO = false;\n throw Error(bignumberError + 'crypto unavailable');\n }\n } // Use Math.random.\n\n\n if (!CRYPTO) {\n for (; i < k;) {\n v = random53bitInt();\n if (v < 9e15) c[i++] = v % 1e14;\n }\n }\n\n k = c[--i];\n dp %= LOG_BASE; // Convert trailing digits to zeros according to dp.\n\n if (k && dp) {\n v = POWS_TEN[LOG_BASE - dp];\n c[i] = mathfloor(k / v) * v;\n } // Remove trailing elements which are zero.\n\n\n for (; c[i] === 0; c.pop(), i--) {\n ;\n } // Zero?\n\n\n if (i < 0) {\n c = [e = 0];\n } else {\n // Remove leading elements which are zero and adjust exponent accordingly.\n for (e = -1; c[0] === 0; c.splice(0, 1), e -= LOG_BASE) {\n ;\n } // Count the digits of the first element of c to determine leading zeros, and...\n\n\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++) {\n ;\n } // adjust the exponent accordingly.\n\n\n if (i < LOG_BASE) e -= LOG_BASE - i;\n }\n\n rand.e = e;\n rand.c = c;\n return rand;\n };\n }();\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\n\n\n BigNumber.sum = function () {\n var i = 1,\n args = arguments,\n sum = new BigNumber(args[0]);\n\n for (; i < args.length;) {\n sum = sum.plus(args[i++]);\n }\n\n return sum;\n }; // PRIVATE FUNCTIONS\n // Called by BigNumber and BigNumber.prototype.toString.\n\n\n convertBase = function () {\n var decimal = '0123456789';\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\n\n function toBaseOut(str, baseIn, baseOut, alphabet) {\n var j,\n arr = [0],\n arrL,\n i = 0,\n len = str.length;\n\n for (; i < len;) {\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn) {\n ;\n }\n\n arr[0] += alphabet.indexOf(str.charAt(i++));\n\n for (j = 0; j < arr.length; j++) {\n if (arr[j] > baseOut - 1) {\n if (arr[j + 1] == null) arr[j + 1] = 0;\n arr[j + 1] += arr[j] / baseOut | 0;\n arr[j] %= baseOut;\n }\n }\n }\n\n return arr.reverse();\n } // Convert a numeric string of baseIn to a numeric string of baseOut.\n // If the caller is toString, we are converting from base 10 to baseOut.\n // If the caller is BigNumber, we are converting from baseIn to base 10.\n\n\n return function (str, baseIn, baseOut, sign, callerIsToString) {\n var alphabet,\n d,\n e,\n k,\n r,\n x,\n xc,\n y,\n i = str.indexOf('.'),\n dp = DECIMAL_PLACES,\n rm = ROUNDING_MODE; // Non-integer.\n\n if (i >= 0) {\n k = POW_PRECISION; // Unlimited precision.\n\n POW_PRECISION = 0;\n str = str.replace('.', '');\n y = new BigNumber(baseIn);\n x = y.pow(str.length - i);\n POW_PRECISION = k; // Convert str as if an integer, then restore the fraction part by dividing the\n // result by its base raised to a power.\n\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'), 10, baseOut, decimal);\n y.e = y.c.length;\n } // Convert the number as integer.\n\n\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET, decimal) : (alphabet = decimal, ALPHABET)); // xc now represents str as an integer and converted to baseOut. e is the exponent.\n\n e = k = xc.length; // Remove trailing zeros.\n\n for (; xc[--k] == 0; xc.pop()) {\n ;\n } // Zero?\n\n\n if (!xc[0]) return alphabet.charAt(0); // Does str represent an integer? If so, no need for the division.\n\n if (i < 0) {\n --e;\n } else {\n x.c = xc;\n x.e = e; // The sign is needed for correct rounding.\n\n x.s = sign;\n x = div(x, y, dp, rm, baseOut);\n xc = x.c;\n r = x.r;\n e = x.e;\n } // xc now represents str converted to baseOut.\n // THe index of the rounding digit.\n\n\n d = e + dp + 1; // The rounding digit: the digit to the right of the digit that may be rounded up.\n\n i = xc[d]; // Look at the rounding digits and mode to determine whether to round up.\n\n k = baseOut / 2;\n r = r || d < 0 || xc[d + 1] != null;\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : i > k || i == k && (rm == 4 || r || rm == 6 && xc[d - 1] & 1 || rm == (x.s < 0 ? 8 : 7)); // If the index of the rounding digit is not greater than zero, or xc represents\n // zero, then the result of the base conversion is zero or, if rounding up, a value\n // such as 0.00001.\n\n if (d < 1 || !xc[0]) {\n // 1^-dp or 0\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\n } else {\n // Truncate xc to the required number of decimal places.\n xc.length = d; // Round up?\n\n if (r) {\n // Rounding up may mean the previous digit has to be rounded up and so on.\n for (--baseOut; ++xc[--d] > baseOut;) {\n xc[d] = 0;\n\n if (!d) {\n ++e;\n xc = [1].concat(xc);\n }\n }\n } // Determine trailing zeros.\n\n\n for (k = xc.length; !xc[--k];) {\n ;\n } // E.g. [4, 11, 15] becomes 4bf.\n\n\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++])) {\n ;\n } // Add leading zeros, decimal point and trailing zeros as required.\n\n\n str = toFixedPoint(str, e, alphabet.charAt(0));\n } // The caller will add the sign.\n\n\n return str;\n };\n }(); // Perform division in the specified base. Called by div and convertBase.\n\n\n div = function () {\n // Assume non-zero x and k.\n function multiply(x, k, base) {\n var m,\n temp,\n xlo,\n xhi,\n carry = 0,\n i = x.length,\n klo = k % SQRT_BASE,\n khi = k / SQRT_BASE | 0;\n\n for (x = x.slice(); i--;) {\n xlo = x[i] % SQRT_BASE;\n xhi = x[i] / SQRT_BASE | 0;\n m = khi * xlo + xhi * klo;\n temp = klo * xlo + m % SQRT_BASE * SQRT_BASE + carry;\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\n x[i] = temp % base;\n }\n\n if (carry) x = [carry].concat(x);\n return x;\n }\n\n function compare(a, b, aL, bL) {\n var i, cmp;\n\n if (aL != bL) {\n cmp = aL > bL ? 1 : -1;\n } else {\n for (i = cmp = 0; i < aL; i++) {\n if (a[i] != b[i]) {\n cmp = a[i] > b[i] ? 1 : -1;\n break;\n }\n }\n }\n\n return cmp;\n }\n\n function subtract(a, b, aL, base) {\n var i = 0; // Subtract b from a.\n\n for (; aL--;) {\n a[aL] -= i;\n i = a[aL] < b[aL] ? 1 : 0;\n a[aL] = i * base + a[aL] - b[aL];\n } // Remove leading zeros.\n\n\n for (; !a[0] && a.length > 1; a.splice(0, 1)) {\n ;\n }\n } // x: dividend, y: divisor.\n\n\n return function (x, y, dp, rm, base) {\n var cmp,\n e,\n i,\n more,\n n,\n prod,\n prodL,\n q,\n qc,\n rem,\n remL,\n rem0,\n xi,\n xL,\n yc0,\n yL,\n yz,\n s = x.s == y.s ? 1 : -1,\n xc = x.c,\n yc = y.c; // Either NaN, Infinity or 0?\n\n if (!xc || !xc[0] || !yc || !yc[0]) {\n return new BigNumber( // Return NaN if either NaN, or both Infinity or 0.\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0);\n }\n\n q = new BigNumber(s);\n qc = q.c = [];\n e = x.e - y.e;\n s = dp + e + 1;\n\n if (!base) {\n base = BASE;\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\n s = s / LOG_BASE | 0;\n } // Result exponent may be one less then the current value of e.\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\n\n\n for (i = 0; yc[i] == (xc[i] || 0); i++) {\n ;\n }\n\n if (yc[i] > (xc[i] || 0)) e--;\n\n if (s < 0) {\n qc.push(1);\n more = true;\n } else {\n xL = xc.length;\n yL = yc.length;\n i = 0;\n s += 2; // Normalise xc and yc so highest order digit of yc is >= base / 2.\n\n n = mathfloor(base / (yc[0] + 1)); // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\n\n if (n > 1) {\n yc = multiply(yc, n, base);\n xc = multiply(xc, n, base);\n yL = yc.length;\n xL = xc.length;\n }\n\n xi = yL;\n rem = xc.slice(0, yL);\n remL = rem.length; // Add zeros to make remainder as long as divisor.\n\n for (; remL < yL; rem[remL++] = 0) {\n ;\n }\n\n yz = yc.slice();\n yz = [0].concat(yz);\n yc0 = yc[0];\n if (yc[1] >= base / 2) yc0++; // Not necessary, but to prevent trial digit n > base, when using base 3.\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\n\n do {\n n = 0; // Compare divisor and remainder.\n\n cmp = compare(yc, rem, yL, remL); // If divisor < remainder.\n\n if (cmp < 0) {\n // Calculate trial digit, n.\n rem0 = rem[0];\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0); // n is how many times the divisor goes into the current remainder.\n\n n = mathfloor(rem0 / yc0); // Algorithm:\n // product = divisor multiplied by trial digit (n).\n // Compare product and remainder.\n // If product is greater than remainder:\n // Subtract divisor from product, decrement trial digit.\n // Subtract product from remainder.\n // If product was less than remainder at the last compare:\n // Compare new remainder and divisor.\n // If remainder is greater than divisor:\n // Subtract divisor from remainder, increment trial digit.\n\n if (n > 1) {\n // n may be > base only when base is 3.\n if (n >= base) n = base - 1; // product = divisor * trial digit.\n\n prod = multiply(yc, n, base);\n prodL = prod.length;\n remL = rem.length; // Compare product and remainder.\n // If product > remainder then trial digit n too high.\n // n is 1 too high about 5% of the time, and is not known to have\n // ever been more than 1 too high.\n\n while (compare(prod, rem, prodL, remL) == 1) {\n n--; // Subtract divisor from product.\n\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\n prodL = prod.length;\n cmp = 1;\n }\n } else {\n // n is 0 or 1, cmp is -1.\n // If n is 0, there is no need to compare yc and rem again below,\n // so change cmp to 1 to avoid it.\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\n if (n == 0) {\n // divisor < remainder, so n must be at least 1.\n cmp = n = 1;\n } // product = divisor\n\n\n prod = yc.slice();\n prodL = prod.length;\n }\n\n if (prodL < remL) prod = [0].concat(prod); // Subtract product from remainder.\n\n subtract(rem, prod, remL, base);\n remL = rem.length; // If product was < remainder.\n\n if (cmp == -1) {\n // Compare divisor and new remainder.\n // If divisor < new remainder, subtract divisor from remainder.\n // Trial digit n too low.\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\n while (compare(yc, rem, yL, remL) < 1) {\n n++; // Subtract divisor from remainder.\n\n subtract(rem, yL < remL ? yz : yc, remL, base);\n remL = rem.length;\n }\n }\n } else if (cmp === 0) {\n n++;\n rem = [0];\n } // else cmp === 1 and n will be 0\n // Add the next digit, n, to the result array.\n\n\n qc[i++] = n; // Update the remainder.\n\n if (rem[0]) {\n rem[remL++] = xc[xi] || 0;\n } else {\n rem = [xc[xi]];\n remL = 1;\n }\n } while ((xi++ < xL || rem[0] != null) && s--);\n\n more = rem[0] != null; // Leading zero?\n\n if (!qc[0]) qc.splice(0, 1);\n }\n\n if (base == BASE) {\n // To calculate q.e, first get the number of digits of qc[0].\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++) {\n ;\n }\n\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more); // Caller is convertBase.\n } else {\n q.e = e;\n q.r = +more;\n }\n\n return q;\n };\n }();\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\n\n\n function format(n, i, rm, id) {\n var c0, e, ne, len, str;\n if (rm == null) rm = ROUNDING_MODE;else intCheck(rm, 0, 8);\n if (!n.c) return n.toString();\n c0 = n.c[0];\n ne = n.e;\n\n if (i == null) {\n str = coeffToString(n.c);\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS) ? toExponential(str, ne) : toFixedPoint(str, ne, '0');\n } else {\n n = round(new BigNumber(n), i, rm); // n.e may have changed if the value was rounded up.\n\n e = n.e;\n str = coeffToString(n.c);\n len = str.length; // toPrecision returns exponential notation if the number of significant digits\n // specified is less than the number of digits necessary to represent the integer\n // part of the value in fixed-point notation.\n // Exponential notation.\n\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\n // Append zeros?\n for (; len < i; str += '0', len++) {\n ;\n }\n\n str = toExponential(str, e); // Fixed-point notation.\n } else {\n i -= ne;\n str = toFixedPoint(str, e, '0'); // Append zeros?\n\n if (e + 1 > len) {\n if (--i > 0) for (str += '.'; i--; str += '0') {\n ;\n }\n } else {\n i += e - len;\n\n if (i > 0) {\n if (e + 1 == len) str += '.';\n\n for (; i--; str += '0') {\n ;\n }\n }\n }\n }\n }\n\n return n.s < 0 && c0 ? '-' + str : str;\n } // Handle BigNumber.max and BigNumber.min.\n // If any number is NaN, return NaN.\n\n\n function maxOrMin(args, n) {\n var k,\n y,\n i = 1,\n x = new BigNumber(args[0]);\n\n for (; i < args.length; i++) {\n y = new BigNumber(args[i]);\n\n if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\n x = y;\n }\n }\n\n return x;\n }\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\n\n\n function normalise(n, c, e) {\n var i = 1,\n j = c.length; // Remove trailing zeros.\n\n for (; !c[--j]; c.pop()) {\n ;\n } // Calculate the base 10 exponent. First get the number of digits of c[0].\n\n\n for (j = c[0]; j >= 10; j /= 10, i++) {\n ;\n } // Overflow?\n\n\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\n // Infinity.\n n.c = n.e = null; // Underflow?\n } else if (e < MIN_EXP) {\n // Zero.\n n.c = [n.e = 0];\n } else {\n n.e = e;\n n.c = c;\n }\n\n return n;\n } // Handle values that fail the validity test in BigNumber.\n\n\n parseNumeric = function () {\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\n dotAfter = /^([^.]+)\\.$/,\n dotBefore = /^\\.([^.]+)$/,\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\n return function (x, str, isNum, b) {\n var base,\n s = isNum ? str : str.replace(whitespaceOrPlus, ''); // No exception on ±Infinity or NaN.\n\n if (isInfinityOrNaN.test(s)) {\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\n } else {\n if (!isNum) {\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\n s = s.replace(basePrefix, function (m, p1, p2) {\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\n return !b || b == base ? p1 : m;\n });\n\n if (b) {\n base = b; // E.g. '1.' to '1', '.1' to '0.1'\n\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\n }\n\n if (str != s) return new BigNumber(s, base);\n } // '[BigNumber Error] Not a number: {n}'\n // '[BigNumber Error] Not a base {b} number: {n}'\n\n\n if (BigNumber.DEBUG) {\n throw Error(bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\n } // NaN\n\n\n x.s = null;\n }\n\n x.c = x.e = null;\n };\n }();\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\n\n\n function round(x, sd, rm, r) {\n var d,\n i,\n j,\n k,\n n,\n ni,\n rd,\n xc = x.c,\n pows10 = POWS_TEN; // if x is not Infinity or NaN...\n\n if (xc) {\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\n // ni is the index of n within x.c.\n // d is the number of digits of n.\n // i is the index of rd within n including leading zeros.\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\n out: {\n // Get the number of digits of the first element of xc.\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++) {\n ;\n }\n\n i = sd - d; // If the rounding digit is in the first element of xc...\n\n if (i < 0) {\n i += LOG_BASE;\n j = sd;\n n = xc[ni = 0]; // Get the rounding digit at index j of n.\n\n rd = mathfloor(n / pows10[d - j - 1] % 10);\n } else {\n ni = mathceil((i + 1) / LOG_BASE);\n\n if (ni >= xc.length) {\n if (r) {\n // Needed by sqrt.\n for (; xc.length <= ni; xc.push(0)) {\n ;\n }\n\n n = rd = 0;\n d = 1;\n i %= LOG_BASE;\n j = i - LOG_BASE + 1;\n } else {\n break out;\n }\n } else {\n n = k = xc[ni]; // Get the number of digits of n.\n\n for (d = 1; k >= 10; k /= 10, d++) {\n ;\n } // Get the index of rd within n.\n\n\n i %= LOG_BASE; // Get the index of rd within n, adjusted for leading zeros.\n // The number of leading zeros of n is given by LOG_BASE - d.\n\n j = i - LOG_BASE + d; // Get the rounding digit at index j of n.\n\n rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\n }\n }\n\n r = r || sd < 0 || // Are there any non-zero digits after the rounding digit?\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\n r = rm < 4 ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.\n (i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));\n\n if (sd < 1 || !xc[0]) {\n xc.length = 0;\n\n if (r) {\n // Convert sd to decimal places.\n sd -= x.e + 1; // 1, 0.1, 0.01, 0.001, 0.0001 etc.\n\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\n x.e = -sd || 0;\n } else {\n // Zero.\n xc[0] = x.e = 0;\n }\n\n return x;\n } // Remove excess digits.\n\n\n if (i == 0) {\n xc.length = ni;\n k = 1;\n ni--;\n } else {\n xc.length = ni + 1;\n k = pows10[LOG_BASE - i]; // E.g. 56700 becomes 56000 if 7 is the rounding digit.\n // j > 0 means i > number of leading zeros of n.\n\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\n } // Round up?\n\n\n if (r) {\n for (;;) {\n // If the digit to be rounded up is in the first element of xc...\n if (ni == 0) {\n // i will be the length of xc[0] before k is added.\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++) {\n ;\n }\n\n j = xc[0] += k;\n\n for (k = 1; j >= 10; j /= 10, k++) {\n ;\n } // if i != k the length has increased.\n\n\n if (i != k) {\n x.e++;\n if (xc[0] == BASE) xc[0] = 1;\n }\n\n break;\n } else {\n xc[ni] += k;\n if (xc[ni] != BASE) break;\n xc[ni--] = 0;\n k = 1;\n }\n }\n } // Remove trailing zeros.\n\n\n for (i = xc.length; xc[--i] === 0; xc.pop()) {\n ;\n }\n } // Overflow? Infinity.\n\n\n if (x.e > MAX_EXP) {\n x.c = x.e = null; // Underflow? Zero.\n } else if (x.e < MIN_EXP) {\n x.c = [x.e = 0];\n }\n }\n\n return x;\n }\n\n function valueOf(n) {\n var str,\n e = n.e;\n if (e === null) return n.toString();\n str = coeffToString(n.c);\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(str, e) : toFixedPoint(str, e, '0');\n return n.s < 0 ? '-' + str : str;\n } // PROTOTYPE/INSTANCE METHODS\n\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\n\n\n P.absoluteValue = P.abs = function () {\n var x = new BigNumber(this);\n if (x.s < 0) x.s = 1;\n return x;\n };\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\n\n\n P.comparedTo = function (y, b) {\n return compare(this, new BigNumber(y, b));\n };\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\n\n\n P.decimalPlaces = P.dp = function (dp, rm) {\n var c,\n n,\n v,\n x = this;\n\n if (dp != null) {\n intCheck(dp, 0, MAX);\n if (rm == null) rm = ROUNDING_MODE;else intCheck(rm, 0, 8);\n return round(new BigNumber(x), dp + x.e + 1, rm);\n }\n\n if (!(c = x.c)) return null;\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE; // Subtract the number of trailing zeros of the last number.\n\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--) {\n ;\n }\n if (n < 0) n = 0;\n return n;\n };\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\n\n\n P.dividedBy = P.div = function (y, b) {\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\n };\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\n\n\n P.dividedToIntegerBy = P.idiv = function (y, b) {\n return div(this, new BigNumber(y, b), 0, 1);\n };\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\n\n\n P.exponentiatedBy = P.pow = function (n, m) {\n var half,\n isModExp,\n i,\n k,\n more,\n nIsBig,\n nIsNeg,\n nIsOdd,\n y,\n x = this;\n n = new BigNumber(n); // Allow NaN and ±Infinity, but not other non-integers.\n\n if (n.c && !n.isInteger()) {\n throw Error(bignumberError + 'Exponent not an integer: ' + valueOf(n));\n }\n\n if (m != null) m = new BigNumber(m); // Exponent of MAX_SAFE_INTEGER is 15.\n\n nIsBig = n.e > 14; // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\n\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\n // The sign of the result of pow when x is negative depends on the evenness of n.\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\n return m ? y.mod(m) : y;\n }\n\n nIsNeg = n.s < 0;\n\n if (m) {\n // x % m returns NaN if abs(m) is zero, or m is NaN.\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\n if (isModExp) x = x.mod(m); // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0 // [1, 240000000]\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7 // [80000000000000] [99999750000000]\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\n // If x is negative and n is odd, k = -0, else k = 0.\n k = x.s < 0 && isOdd(n) ? -0 : 0; // If x >= 1, k = ±Infinity.\n\n if (x.e > -1) k = 1 / k; // If n is negative return ±0, else return ±Infinity.\n\n return new BigNumber(nIsNeg ? 1 / k : k);\n } else if (POW_PRECISION) {\n // Truncating each coefficient array to a length of k after each multiplication\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\n // i.e. there will be a minimum of 28 guard digits retained.\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\n }\n\n if (nIsBig) {\n half = new BigNumber(0.5);\n if (nIsNeg) n.s = 1;\n nIsOdd = isOdd(n);\n } else {\n i = Math.abs(+valueOf(n));\n nIsOdd = i % 2;\n }\n\n y = new BigNumber(ONE); // Performs 54 loop iterations for n of 9007199254740991.\n\n for (;;) {\n if (nIsOdd) {\n y = y.times(x);\n if (!y.c) break;\n\n if (k) {\n if (y.c.length > k) y.c.length = k;\n } else if (isModExp) {\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\n }\n }\n\n if (i) {\n i = mathfloor(i / 2);\n if (i === 0) break;\n nIsOdd = i % 2;\n } else {\n n = n.times(half);\n round(n, n.e + 1, 1);\n\n if (n.e > 14) {\n nIsOdd = isOdd(n);\n } else {\n i = +valueOf(n);\n if (i === 0) break;\n nIsOdd = i % 2;\n }\n }\n\n x = x.times(x);\n\n if (k) {\n if (x.c && x.c.length > k) x.c.length = k;\n } else if (isModExp) {\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\n }\n }\n\n if (isModExp) return y;\n if (nIsNeg) y = ONE.div(y);\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\n };\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\n\n\n P.integerValue = function (rm) {\n var n = new BigNumber(this);\n if (rm == null) rm = ROUNDING_MODE;else intCheck(rm, 0, 8);\n return round(n, n.e + 1, rm);\n };\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\n\n\n P.isEqualTo = P.eq = function (y, b) {\n return compare(this, new BigNumber(y, b)) === 0;\n };\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\n\n\n P.isFinite = function () {\n return !!this.c;\n };\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\n\n\n P.isGreaterThan = P.gt = function (y, b) {\n return compare(this, new BigNumber(y, b)) > 0;\n };\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\n\n\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\n };\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\n\n\n P.isInteger = function () {\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\n };\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\n\n\n P.isLessThan = P.lt = function (y, b) {\n return compare(this, new BigNumber(y, b)) < 0;\n };\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\n\n\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\n };\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\n\n\n P.isNaN = function () {\n return !this.s;\n };\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\n\n\n P.isNegative = function () {\n return this.s < 0;\n };\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\n\n\n P.isPositive = function () {\n return this.s > 0;\n };\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\n\n\n P.isZero = function () {\n return !!this.c && this.c[0] == 0;\n };\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\n\n\n P.minus = function (y, b) {\n var i,\n j,\n t,\n xLTy,\n x = this,\n a = x.s;\n y = new BigNumber(y, b);\n b = y.s; // Either NaN?\n\n if (!a || !b) return new BigNumber(NaN); // Signs differ?\n\n if (a != b) {\n y.s = -b;\n return x.plus(y);\n }\n\n var xe = x.e / LOG_BASE,\n ye = y.e / LOG_BASE,\n xc = x.c,\n yc = y.c;\n\n if (!xe || !ye) {\n // Either Infinity?\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN); // Either zero?\n\n if (!xc[0] || !yc[0]) {\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x : // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\n ROUNDING_MODE == 3 ? -0 : 0);\n }\n }\n\n xe = bitFloor(xe);\n ye = bitFloor(ye);\n xc = xc.slice(); // Determine which is the bigger number.\n\n if (a = xe - ye) {\n if (xLTy = a < 0) {\n a = -a;\n t = xc;\n } else {\n ye = xe;\n t = yc;\n }\n\n t.reverse(); // Prepend zeros to equalise exponents.\n\n for (b = a; b--; t.push(0)) {\n ;\n }\n\n t.reverse();\n } else {\n // Exponents equal. Check digit by digit.\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\n\n for (a = b = 0; b < j; b++) {\n if (xc[b] != yc[b]) {\n xLTy = xc[b] < yc[b];\n break;\n }\n }\n } // x < y? Point xc to the array of the bigger number.\n\n\n if (xLTy) {\n t = xc;\n xc = yc;\n yc = t;\n y.s = -y.s;\n }\n\n b = (j = yc.length) - (i = xc.length); // Append zeros to xc if shorter.\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\n\n if (b > 0) for (; b--; xc[i++] = 0) {\n ;\n }\n b = BASE - 1; // Subtract yc from xc.\n\n for (; j > a;) {\n if (xc[--j] < yc[j]) {\n for (i = j; i && !xc[--i]; xc[i] = b) {\n ;\n }\n\n --xc[i];\n xc[j] += BASE;\n }\n\n xc[j] -= yc[j];\n } // Remove leading zeros and adjust exponent accordingly.\n\n\n for (; xc[0] == 0; xc.splice(0, 1), --ye) {\n ;\n } // Zero?\n\n\n if (!xc[0]) {\n // Following IEEE 754 (2008) 6.3,\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\n y.c = [y.e = 0];\n return y;\n } // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\n // for finite x and y.\n\n\n return normalise(y, xc, ye);\n };\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\n\n\n P.modulo = P.mod = function (y, b) {\n var q,\n s,\n x = this;\n y = new BigNumber(y, b); // Return NaN if x is Infinity or NaN, or y is NaN or zero.\n\n if (!x.c || !y.s || y.c && !y.c[0]) {\n return new BigNumber(NaN); // Return x if y is Infinity or x is zero.\n } else if (!y.c || x.c && !x.c[0]) {\n return new BigNumber(x);\n }\n\n if (MODULO_MODE == 9) {\n // Euclidian division: q = sign(y) * floor(x / abs(y))\n // r = x - qy where 0 <= r < abs(y)\n s = y.s;\n y.s = 1;\n q = div(x, y, 0, 3);\n y.s = s;\n q.s *= s;\n } else {\n q = div(x, y, 0, MODULO_MODE);\n }\n\n y = x.minus(q.times(y)); // To match JavaScript %, ensure sign of zero is sign of dividend.\n\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\n return y;\n };\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\n\n\n P.multipliedBy = P.times = function (y, b) {\n var c,\n e,\n i,\n j,\n k,\n m,\n xcL,\n xlo,\n xhi,\n ycL,\n ylo,\n yhi,\n zc,\n base,\n sqrtBase,\n x = this,\n xc = x.c,\n yc = (y = new BigNumber(y, b)).c; // Either NaN, ±Infinity or ±0?\n\n if (!xc || !yc || !xc[0] || !yc[0]) {\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\n y.c = y.e = y.s = null;\n } else {\n y.s *= x.s; // Return ±Infinity if either is ±Infinity.\n\n if (!xc || !yc) {\n y.c = y.e = null; // Return ±0 if either is ±0.\n } else {\n y.c = [0];\n y.e = 0;\n }\n }\n\n return y;\n }\n\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\n y.s *= x.s;\n xcL = xc.length;\n ycL = yc.length; // Ensure xc points to longer array and xcL to its length.\n\n if (xcL < ycL) {\n zc = xc;\n xc = yc;\n yc = zc;\n i = xcL;\n xcL = ycL;\n ycL = i;\n } // Initialise the result array with zeros.\n\n\n for (i = xcL + ycL, zc = []; i--; zc.push(0)) {\n ;\n }\n\n base = BASE;\n sqrtBase = SQRT_BASE;\n\n for (i = ycL; --i >= 0;) {\n c = 0;\n ylo = yc[i] % sqrtBase;\n yhi = yc[i] / sqrtBase | 0;\n\n for (k = xcL, j = i + k; j > i;) {\n xlo = xc[--k] % sqrtBase;\n xhi = xc[k] / sqrtBase | 0;\n m = yhi * xlo + xhi * ylo;\n xlo = ylo * xlo + m % sqrtBase * sqrtBase + zc[j] + c;\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\n zc[j--] = xlo % base;\n }\n\n zc[j] = c;\n }\n\n if (c) {\n ++e;\n } else {\n zc.splice(0, 1);\n }\n\n return normalise(y, zc, e);\n };\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\n\n\n P.negated = function () {\n var x = new BigNumber(this);\n x.s = -x.s || null;\n return x;\n };\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\n\n\n P.plus = function (y, b) {\n var t,\n x = this,\n a = x.s;\n y = new BigNumber(y, b);\n b = y.s; // Either NaN?\n\n if (!a || !b) return new BigNumber(NaN); // Signs differ?\n\n if (a != b) {\n y.s = -b;\n return x.minus(y);\n }\n\n var xe = x.e / LOG_BASE,\n ye = y.e / LOG_BASE,\n xc = x.c,\n yc = y.c;\n\n if (!xe || !ye) {\n // Return ±Infinity if either ±Infinity.\n if (!xc || !yc) return new BigNumber(a / 0); // Either zero?\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\n\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\n }\n\n xe = bitFloor(xe);\n ye = bitFloor(ye);\n xc = xc.slice(); // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\n\n if (a = xe - ye) {\n if (a > 0) {\n ye = xe;\n t = yc;\n } else {\n a = -a;\n t = xc;\n }\n\n t.reverse();\n\n for (; a--; t.push(0)) {\n ;\n }\n\n t.reverse();\n }\n\n a = xc.length;\n b = yc.length; // Point xc to the longer array, and b to the shorter length.\n\n if (a - b < 0) {\n t = yc;\n yc = xc;\n xc = t;\n b = a;\n } // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\n\n\n for (a = 0; b;) {\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\n }\n\n if (a) {\n xc = [a].concat(xc);\n ++ye;\n } // No need to check for zero, as +x + +y != 0 && -x + -y != 0\n // ye = MAX_EXP + 1 possible\n\n\n return normalise(y, xc, ye);\n };\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\n\n\n P.precision = P.sd = function (sd, rm) {\n var c,\n n,\n v,\n x = this;\n\n if (sd != null && sd !== !!sd) {\n intCheck(sd, 1, MAX);\n if (rm == null) rm = ROUNDING_MODE;else intCheck(rm, 0, 8);\n return round(new BigNumber(x), sd, rm);\n }\n\n if (!(c = x.c)) return null;\n v = c.length - 1;\n n = v * LOG_BASE + 1;\n\n if (v = c[v]) {\n // Subtract the number of trailing zeros of the last element.\n for (; v % 10 == 0; v /= 10, n--) {\n ;\n } // Add the number of digits of the first element.\n\n\n for (v = c[0]; v >= 10; v /= 10, n++) {\n ;\n }\n }\n\n if (sd && x.e + 1 > n) n = x.e + 1;\n return n;\n };\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\n\n\n P.shiftedBy = function (k) {\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\n return this.times('1e' + k);\n };\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\n\n\n P.squareRoot = P.sqrt = function () {\n var m,\n n,\n r,\n rep,\n t,\n x = this,\n c = x.c,\n s = x.s,\n e = x.e,\n dp = DECIMAL_PLACES + 4,\n half = new BigNumber('0.5'); // Negative/NaN/Infinity/zero?\n\n if (s !== 1 || !c || !c[0]) {\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\n } // Initial estimate.\n\n\n s = Math.sqrt(+valueOf(x)); // Math.sqrt underflow/overflow?\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\n\n if (s == 0 || s == 1 / 0) {\n n = coeffToString(c);\n if ((n.length + e) % 2 == 0) n += '0';\n s = Math.sqrt(+n);\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\n\n if (s == 1 / 0) {\n n = '5e' + e;\n } else {\n n = s.toExponential();\n n = n.slice(0, n.indexOf('e') + 1) + e;\n }\n\n r = new BigNumber(n);\n } else {\n r = new BigNumber(s + '');\n } // Check for zero.\n // r could be zero if MIN_EXP is changed after the this value was created.\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\n // coeffToString to throw.\n\n\n if (r.c[0]) {\n e = r.e;\n s = e + dp;\n if (s < 3) s = 0; // Newton-Raphson iteration.\n\n for (;;) {\n t = r;\n r = half.times(t.plus(div(x, t, dp, 1)));\n\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\n // The exponent of r may here be one less than the final result exponent,\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\n // are indexed correctly.\n if (r.e < e) --s;\n n = n.slice(s - 3, s + 1); // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\n // iteration.\n\n if (n == '9999' || !rep && n == '4999') {\n // On the first iteration only, check to see if rounding up gives the\n // exact result as the nines may infinitely repeat.\n if (!rep) {\n round(t, t.e + DECIMAL_PLACES + 2, 0);\n\n if (t.times(t).eq(x)) {\n r = t;\n break;\n }\n }\n\n dp += 4;\n s += 4;\n rep = 1;\n } else {\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\n // result. If not, then there are further digits and m will be truthy.\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\n // Truncate to the first rounding digit.\n round(r, r.e + DECIMAL_PLACES + 2, 1);\n m = !r.times(r).eq(x);\n }\n\n break;\n }\n }\n }\n }\n\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\n };\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\n\n\n P.toExponential = function (dp, rm) {\n if (dp != null) {\n intCheck(dp, 0, MAX);\n dp++;\n }\n\n return format(this, dp, rm, 1);\n };\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\n\n\n P.toFixed = function (dp, rm) {\n if (dp != null) {\n intCheck(dp, 0, MAX);\n dp = dp + this.e + 1;\n }\n\n return format(this, dp, rm);\n };\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\n\n\n P.toFormat = function (dp, rm, format) {\n var str,\n x = this;\n\n if (format == null) {\n if (dp != null && rm && _typeof(rm) == 'object') {\n format = rm;\n rm = null;\n } else if (dp && _typeof(dp) == 'object') {\n format = dp;\n dp = rm = null;\n } else {\n format = FORMAT;\n }\n } else if (_typeof(format) != 'object') {\n throw Error(bignumberError + 'Argument not an object: ' + format);\n }\n\n str = x.toFixed(dp, rm);\n\n if (x.c) {\n var i,\n arr = str.split('.'),\n g1 = +format.groupSize,\n g2 = +format.secondaryGroupSize,\n groupSeparator = format.groupSeparator || '',\n intPart = arr[0],\n fractionPart = arr[1],\n isNeg = x.s < 0,\n intDigits = isNeg ? intPart.slice(1) : intPart,\n len = intDigits.length;\n\n if (g2) {\n i = g1;\n g1 = g2;\n g2 = i;\n len -= i;\n }\n\n if (g1 > 0 && len > 0) {\n i = len % g1 || g1;\n intPart = intDigits.substr(0, i);\n\n for (; i < len; i += g1) {\n intPart += groupSeparator + intDigits.substr(i, g1);\n }\n\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\n if (isNeg) intPart = '-' + intPart;\n }\n\n str = fractionPart ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize) ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'), '$&' + (format.fractionGroupSeparator || '')) : fractionPart) : intPart;\n }\n\n return (format.prefix || '') + str + (format.suffix || '');\n };\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\n\n\n P.toFraction = function (md) {\n var d,\n d0,\n d1,\n d2,\n e,\n exp,\n n,\n n0,\n n1,\n q,\n r,\n s,\n x = this,\n xc = x.c;\n\n if (md != null) {\n n = new BigNumber(md); // Throw if md is less than one or is not an integer, unless it is Infinity.\n\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\n throw Error(bignumberError + 'Argument ' + (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\n }\n }\n\n if (!xc) return new BigNumber(x);\n d = new BigNumber(ONE);\n n1 = d0 = new BigNumber(ONE);\n d1 = n0 = new BigNumber(ONE);\n s = coeffToString(xc); // Determine initial denominator.\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\n\n e = d.e = s.length - x.e - 1;\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\n md = !md || n.comparedTo(d) > 0 ? e > 0 ? d : n1 : n;\n exp = MAX_EXP;\n MAX_EXP = 1 / 0;\n n = new BigNumber(s); // n0 = d1 = 0\n\n n0.c[0] = 0;\n\n for (;;) {\n q = div(n, d, 0, 1);\n d2 = d0.plus(q.times(d1));\n if (d2.comparedTo(md) == 1) break;\n d0 = d1;\n d1 = d2;\n n1 = n0.plus(q.times(d2 = n1));\n n0 = d2;\n d = n.minus(q.times(d2 = d));\n n = d2;\n }\n\n d2 = div(md.minus(d0), d1, 0, 1);\n n0 = n0.plus(d2.times(n1));\n d0 = d0.plus(d2.times(d1));\n n0.s = n1.s = x.s;\n e = e * 2; // Determine which fraction is closer to x, n0/d0 or n1/d1\n\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\n MAX_EXP = exp;\n return r;\n };\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\n\n\n P.toNumber = function () {\n return +valueOf(this);\n };\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\n\n\n P.toPrecision = function (sd, rm) {\n if (sd != null) intCheck(sd, 1, MAX);\n return format(this, sd, rm, 2);\n };\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\n\n\n P.toString = function (b) {\n var str,\n n = this,\n s = n.s,\n e = n.e; // Infinity or NaN?\n\n if (e === null) {\n if (s) {\n str = 'Infinity';\n if (s < 0) str = '-' + str;\n } else {\n str = 'NaN';\n }\n } else {\n if (b == null) {\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(coeffToString(n.c), e) : toFixedPoint(coeffToString(n.c), e, '0');\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\n } else {\n intCheck(b, 2, ALPHABET.length, 'Base');\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\n }\n\n if (s < 0 && n.c[0]) str = '-' + str;\n }\n\n return str;\n };\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\n\n\n P.valueOf = P.toJSON = function () {\n return valueOf(this);\n };\n\n P._isBigNumber = true;\n if (configObject != null) BigNumber.set(configObject);\n return BigNumber;\n } // PRIVATE HELPER FUNCTIONS\n // These functions don't need access to variables,\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\n\n\n function bitFloor(n) {\n var i = n | 0;\n return n > 0 || n === i ? i : i - 1;\n } // Return a coefficient array as a string of base 10 digits.\n\n\n function coeffToString(a) {\n var s,\n z,\n i = 1,\n j = a.length,\n r = a[0] + '';\n\n for (; i < j;) {\n s = a[i++] + '';\n z = LOG_BASE - s.length;\n\n for (; z--; s = '0' + s) {\n ;\n }\n\n r += s;\n } // Determine trailing zeros.\n\n\n for (j = r.length; r.charCodeAt(--j) === 48;) {\n ;\n }\n\n return r.slice(0, j + 1 || 1);\n } // Compare the value of BigNumbers x and y.\n\n\n function compare(x, y) {\n var a,\n b,\n xc = x.c,\n yc = y.c,\n i = x.s,\n j = y.s,\n k = x.e,\n l = y.e; // Either NaN?\n\n if (!i || !j) return null;\n a = xc && !xc[0];\n b = yc && !yc[0]; // Either zero?\n\n if (a || b) return a ? b ? 0 : -j : i; // Signs differ?\n\n if (i != j) return i;\n a = i < 0;\n b = k == l; // Either Infinity?\n\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1; // Compare exponents.\n\n if (!b) return k > l ^ a ? 1 : -1;\n j = (k = xc.length) < (l = yc.length) ? k : l; // Compare digit by digit.\n\n for (i = 0; i < j; i++) {\n if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\n } // Compare lengths.\n\n\n return k == l ? 0 : k > l ^ a ? 1 : -1;\n }\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\n\n\n function intCheck(n, min, max, name) {\n if (n < min || n > max || n !== mathfloor(n)) {\n throw Error(bignumberError + (name || 'Argument') + (typeof n == 'number' ? n < min || n > max ? ' out of range: ' : ' not an integer: ' : ' not a primitive number: ') + String(n));\n }\n } // Assumes finite n.\n\n\n function isOdd(n) {\n var k = n.c.length - 1;\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\n }\n\n function toExponential(str, e) {\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) + (e < 0 ? 'e' : 'e+') + e;\n }\n\n function toFixedPoint(str, e, z) {\n var len, zs; // Negative exponent?\n\n if (e < 0) {\n // Prepend zeros.\n for (zs = z + '.'; ++e; zs += z) {\n ;\n }\n\n str = zs + str; // Positive exponent\n } else {\n len = str.length; // Append zeros.\n\n if (++e > len) {\n for (zs = z, e -= len; --e; zs += z) {\n ;\n }\n\n str += zs;\n } else if (e < len) {\n str = str.slice(0, e) + '.' + str.slice(e);\n }\n }\n\n return str;\n } // EXPORT\n\n\n BigNumber = clone();\n BigNumber['default'] = BigNumber.BigNumber = BigNumber; // AMD.\n\n if (typeof define == 'function' && define.amd) {\n define(function () {\n return BigNumber;\n }); // Node.js and other environments that support module.exports.\n } else if (typeof module != 'undefined' && module.exports) {\n module.exports = BigNumber; // Browser.\n } else {\n if (!globalObject) {\n globalObject = typeof self != 'undefined' && self ? self : window;\n }\n\n globalObject.BigNumber = BigNumber;\n }\n})(this);","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { eachProp, is, toArray, FluidValue, each, getFluidValue, hasFluidValue, addFluidObserver, removeFluidObserver, callFluidObservers, createStringInterpolator, colors } from '@react-spring/shared';\nimport { AnimatedObject, createHost } from '@react-spring/animated';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded$2 = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\", \"viewBox\"];\nvar isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px';\n return ('' + value).trim();\n}\n\nvar attributeCache = {};\n\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n var isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n\n var _ref = props,\n style = _ref.style,\n children = _ref.children,\n scrollTop = _ref.scrollTop,\n scrollLeft = _ref.scrollLeft,\n viewBox = _ref.viewBox,\n attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n var values = Object.values(attributes);\n var names = Object.keys(attributes).map(function (name) {\n return isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {\n return '-' + n.toLowerCase();\n }));\n });\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (var name in style) {\n if (style.hasOwnProperty(name)) {\n var value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach(function (name, i) {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n\n if (viewBox !== void 0) {\n instance.setAttribute('viewBox', viewBox);\n }\n}\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nvar prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {\n prefixes.forEach(function (prefix) {\n return acc[prefixKey(prefix, prop)] = acc[prop];\n });\n return acc;\n}, isUnitlessNumber);\nvar _excluded$1 = [\"x\", \"y\", \"z\"];\nvar domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nvar pxTransforms = /^(translate)/;\nvar degTransforms = /^(rotate|skew)/;\n\nvar addUnit = function addUnit(value, unit) {\n return is.num(value) && value !== 0 ? value + unit : value;\n};\n\nvar isValueIdentity = function isValueIdentity(value, id) {\n return is.arr(value) ? value.every(function (v) {\n return isValueIdentity(v, id);\n }) : is.num(value) ? value === id : parseFloat(value) === id;\n};\n\nvar AnimatedStyle = /*#__PURE__*/function (_AnimatedObject) {\n _inherits(AnimatedStyle, _AnimatedObject);\n\n var _super = _createSuper(AnimatedStyle);\n\n function AnimatedStyle(_ref) {\n _classCallCheck(this, AnimatedStyle);\n\n var x = _ref.x,\n y = _ref.y,\n z = _ref.z,\n style = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n var inputs = [];\n var transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(function (xyz) {\n return [\"translate3d(\".concat(xyz.map(function (v) {\n return addUnit(v, 'px');\n }).join(','), \")\"), isValueIdentity(xyz, 0)];\n });\n }\n\n eachProp(style, function (value, key) {\n if (key === 'transform') {\n inputs.push([value || '']);\n transforms.push(function (transform) {\n return [transform, transform === ''];\n });\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n var unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : '';\n inputs.push(toArray(value));\n transforms.push(key === 'rotate3d' ? function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 4),\n x = _ref3[0],\n y = _ref3[1],\n z = _ref3[2],\n deg = _ref3[3];\n\n return [\"rotate3d(\".concat(x, \",\").concat(y, \",\").concat(z, \",\").concat(addUnit(deg, unit), \")\"), isValueIdentity(deg, 0)];\n } : function (input) {\n return [\"\".concat(key, \"(\").concat(input.map(function (v) {\n return addUnit(v, unit);\n }).join(','), \")\"), isValueIdentity(input, key.startsWith('scale') ? 1 : 0)];\n });\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n return _super.call(this, style);\n }\n\n return AnimatedStyle;\n}(AnimatedObject);\n\nvar FluidTransform = /*#__PURE__*/function (_FluidValue) {\n _inherits(FluidTransform, _FluidValue);\n\n var _super2 = _createSuper(FluidTransform);\n\n function FluidTransform(inputs, transforms) {\n var _this;\n\n _classCallCheck(this, FluidTransform);\n\n _this = _super2.call(this);\n _this._value = null;\n _this.inputs = inputs;\n _this.transforms = transforms;\n return _this;\n }\n\n _createClass(FluidTransform, [{\n key: \"get\",\n value: function get() {\n return this._value || (this._value = this._get());\n }\n }, {\n key: \"_get\",\n value: function _get() {\n var _this2 = this;\n\n var transform = '';\n var identity = true;\n each(this.inputs, function (input, i) {\n var arg1 = getFluidValue(input[0]);\n\n var _this2$transforms$i = _this2.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue)),\n _this2$transforms$i2 = _slicedToArray(_this2$transforms$i, 2),\n t = _this2$transforms$i2[0],\n id = _this2$transforms$i2[1];\n\n transform += ' ' + t;\n identity = identity && id;\n });\n return identity ? 'none' : transform;\n }\n }, {\n key: \"observerAdded\",\n value: function observerAdded(count) {\n var _this3 = this;\n\n if (count == 1) each(this.inputs, function (input) {\n return each(input, function (value) {\n return hasFluidValue(value) && addFluidObserver(value, _this3);\n });\n });\n }\n }, {\n key: \"observerRemoved\",\n value: function observerRemoved(count) {\n var _this4 = this;\n\n if (count == 0) each(this.inputs, function (input) {\n return each(input, function (value) {\n return hasFluidValue(value) && removeFluidObserver(value, _this4);\n });\n });\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n }]);\n\n return FluidTransform;\n}(FluidValue);\n\nvar primitives = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\nvar _excluded = [\"scrollTop\", \"scrollLeft\"];\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator: createStringInterpolator,\n colors: colors\n});\nvar host = createHost(primitives, {\n applyAnimatedValues: applyAnimatedValues,\n createAnimatedStyle: function createAnimatedStyle(style) {\n return new AnimatedStyle(style);\n },\n getComponentProps: function getComponentProps(_ref) {\n var props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return props;\n }\n});\nvar animated = host.animated;\nexport { animated as a, animated };","import 'core-js/es6/math';\nimport 'core-js/es6/number';\n/* eslint no-proto: 0 */\n\nvar testObject = {};\n\nif (!(Object.setPrototypeOf || testObject.__proto__)) {\n var nativeGetPrototypeOf = Object.getPrototypeOf;\n\n Object.getPrototypeOf = function (object) {\n if (object.__proto__) {\n return object.__proto__;\n }\n\n return nativeGetPrototypeOf.call(Object, object);\n };\n}","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n\n if (value > 0) {\n return 1;\n }\n\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n/**\n * Get percent value of a total value\n * @param {Number|String} percent A percent\n * @param {Number} totalValue Total value\n * @param {NUmber} defaultValue The value returned when percent is undefined or invalid\n * @param {Boolean} validate If set to be true, the result will be validated\n * @return {Number} value\n */\n\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n\n var value;\n\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n\n if (_isNaN(value)) {\n value = defaultValue;\n }\n\n if (validate && value > totalValue) {\n value = totalValue;\n }\n\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n\n var keys = Object.keys(obj);\n\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n\n var len = ary.length;\n var cache = {};\n\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n\n return false;\n};\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n\n return function () {\n return numberB;\n };\n};\nexport var findEntryInArray = function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n};\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\n\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n\n for (var i = 0; i < len; i++) {\n xsum += data[i].cx;\n ysum += data[i].cy;\n xysum += data[i].cx * data[i].cy;\n xxsum += data[i].cx * data[i].cx;\n xmin = Math.min(xmin, data[i].cx);\n xmax = Math.max(xmax, data[i].cx);\n }\n\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n\n return true;\n}","import _isNil from \"lodash/isNil\";\nimport _isString from \"lodash/isString\";\nimport _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport React, { Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nexport var PRESENTATION_ATTRIBUTES = {\n 'aria-current': PropTypes.string,\n // state\n 'aria-details': PropTypes.any,\n 'aria-disabled': PropTypes.any,\n // state\n 'aria-hidden': PropTypes.any,\n // state\n 'aria-invalid': PropTypes.any,\n // state\n 'aria-keyshortcuts': PropTypes.any,\n 'aria-label': PropTypes.any,\n 'aria-roledescription': PropTypes.any,\n // Widget Attributes\n 'aria-autocomplete': PropTypes.any,\n 'aria-checked': PropTypes.any,\n 'aria-expanded': PropTypes.any,\n 'aria-haspopup': PropTypes.any,\n 'aria-level': PropTypes.any,\n 'aria-modal': PropTypes.any,\n 'aria-multiline': PropTypes.any,\n 'aria-multiselectable': PropTypes.any,\n 'aria-orientation': PropTypes.any,\n 'aria-placeholder': PropTypes.any,\n 'aria-pressed': PropTypes.any,\n 'aria-readonly': PropTypes.any,\n 'aria-required': PropTypes.any,\n 'aria-selected': PropTypes.any,\n 'aria-sort': PropTypes.any,\n 'aria-valuemax': PropTypes.any,\n 'aria-valuemin': PropTypes.any,\n 'aria-valuenow': PropTypes.any,\n 'aria-valuetext': PropTypes.any,\n // Live Region Attributes\n 'aria-atomic': PropTypes.any,\n 'aria-busy': PropTypes.any,\n 'aria-live': PropTypes.any,\n 'aria-relevant': PropTypes.any,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': PropTypes.any,\n 'aria-grabbed': PropTypes.any,\n // Relationship Attributes\n 'aria-activedescendant': PropTypes.any,\n 'aria-colcount': PropTypes.any,\n 'aria-colindex': PropTypes.any,\n 'aria-colspan': PropTypes.any,\n 'aria-controls': PropTypes.any,\n 'aria-describedby': PropTypes.any,\n 'aria-errormessage': PropTypes.any,\n 'aria-flowto': PropTypes.any,\n 'aria-labelledby': PropTypes.any,\n 'aria-owns': PropTypes.any,\n 'aria-posinset': PropTypes.any,\n 'aria-rowcount': PropTypes.any,\n 'aria-rowindex': PropTypes.any,\n 'aria-rowspan': PropTypes.any,\n 'aria-setsize': PropTypes.any,\n alignmentBaseline: PropTypes.string,\n angle: PropTypes.number,\n baselineShift: PropTypes.string,\n clip: PropTypes.string,\n clipPath: PropTypes.string,\n clipRule: PropTypes.string,\n color: PropTypes.string,\n colorInterpolation: PropTypes.string,\n colorInterpolationFilters: PropTypes.string,\n colorProfile: PropTypes.string,\n colorRendering: PropTypes.string,\n cursor: PropTypes.string,\n direction: PropTypes.oneOf(['ltr', 'rtl', 'inherit']),\n display: PropTypes.string,\n dominantBaseline: PropTypes.string,\n enableBackground: PropTypes.string,\n fill: PropTypes.string,\n fillOpacity: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n fillRule: PropTypes.oneOf(['nonzero', 'evenodd', 'inherit']),\n filter: PropTypes.string,\n floodColor: PropTypes.string,\n floodOpacity: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n font: PropTypes.string,\n fontFamily: PropTypes.string,\n fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fontSizeAdjust: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fontStretch: PropTypes.oneOf(['normal', 'wider', 'narrower', 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', 'inherit']),\n fontStyle: PropTypes.oneOf(['normal', 'italic', 'oblique', 'inherit']),\n fontVariant: PropTypes.oneOf(['normal', 'small-caps', 'inherit']),\n fontWeight: PropTypes.oneOf(['normal', 'bold', 'bolder', 'lighter', 100, 200, 300, 400, 500, 600, 700, 800, 900, 'inherit']),\n glyphOrientationHorizontal: PropTypes.string,\n glyphOrientationVertical: PropTypes.string,\n imageRendering: PropTypes.oneOf(['auto', 'optimizeSpeed', 'optimizeQuality', 'inherit']),\n kerning: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n letterSpacing: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n lightingColor: PropTypes.string,\n lineHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n markerEnd: PropTypes.string,\n markerMid: PropTypes.string,\n markerStart: PropTypes.string,\n mask: PropTypes.string,\n opacity: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n overflow: PropTypes.oneOf(['visible', 'hidden', 'scroll', 'auto', 'inherit']),\n pointerEvents: PropTypes.oneOf(['visiblePainted', 'visibleFill', 'visibleStroke', 'visible', 'painted', 'fill', 'stroke', 'all', 'none', 'inherit']),\n shapeRendering: PropTypes.oneOf(['auto', 'optimizeSpeed', 'crispEdges', 'geometricPrecision', 'inherit']),\n stopColor: PropTypes.string,\n stopOpacity: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n stroke: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n strokeDasharray: PropTypes.string,\n strokeDashoffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square', 'inherit']),\n strokeLinejoin: PropTypes.oneOf(['miter', 'round', 'bevel', 'inherit']),\n strokeMiterlimit: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n strokeOpacity: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n strokeWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n textAnchor: PropTypes.oneOf(['start', 'middle', 'end', 'inherit']),\n textDecoration: PropTypes.oneOf(['none', 'underline', 'overline', 'line-through', 'blink', 'inherit']),\n textRendering: PropTypes.oneOf(['auto', 'optimizeSpeed', 'optimizeLegibility', 'geometricPrecision', 'inherit']),\n unicodeBidi: PropTypes.oneOf(['normal', 'embed', 'bidi-override', 'inherit']),\n visibility: PropTypes.oneOf(['visible', 'hidden', 'collapse', 'inherit']),\n wordSpacing: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n writingMode: PropTypes.oneOf(['lr-tb', 'rl-tb', 'tb-rl', 'lr', 'rl', 'tb', 'inherit']),\n transform: PropTypes.string,\n role: PropTypes.string,\n focusable: PropTypes.string,\n tabIndex: PropTypes.string,\n style: PropTypes.object,\n width: PropTypes.number,\n height: PropTypes.number,\n dx: PropTypes.number,\n dy: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n // The radius of Rectangle\n radius: PropTypes.oneOfType([PropTypes.number, PropTypes.array])\n};\nexport var EVENT_ATTRIBUTES = {\n onClick: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseUp: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onTouchEnd: PropTypes.func,\n onTouchMove: PropTypes.func,\n onTouchStart: PropTypes.func,\n onTouchCancel: PropTypes.func\n};\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\n\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n\n if (!Comp) {\n return '';\n }\n\n return Comp.displayName || Comp.name || 'Component';\n};\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\n\nexport var findAllByType = function findAllByType(children, type) {\n var result = [];\n var types = [];\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n React.Children.forEach(children, function (child) {\n var childType = child && child.type && (child.type.displayName || child.type.name);\n\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\n\nexport var findChildByType = function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n};\n/*\n * Create a new array of children excluding the ones matched the type\n */\n\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n React.Children.forEach(children, function (child) {\n if (child && child.type && child.type.displayName && types.indexOf(child.type.displayName) !== -1) {\n return;\n }\n\n newChildren.push(child);\n });\n return newChildren;\n};\n/**\n * get all the presentation attribute of svg element\n * @param {Object} el A react element or the props of a react element\n * @return {Object} attributes or null\n */\n\nexport var getPresentationAttributes = function getPresentationAttributes(el) {\n if (!el || _isFunction(el)) {\n return null;\n }\n\n var props = /*#__PURE__*/React.isValidElement(el) ? el.props : el;\n\n if (!_isObject(props)) {\n return null;\n }\n\n var out = null; // eslint-disable-next-line no-restricted-syntax\n\n for (var i in props) {\n if ({}.hasOwnProperty.call(props, i) && PRESENTATION_ATTRIBUTES[i]) {\n if (!out) out = {};\n out[i] = props[i];\n }\n }\n\n return out;\n};\n\nvar getEventHandlerOfElement = function getEventHandlerOfElement(originalHandler, props) {\n return function (e) {\n originalHandler(props, e);\n return null;\n };\n};\n/**\n * get all the event attribute of svg element\n * @param {Object} el A react element or the props of a react element\n * @param {Function} newHandler New handler of event\n * @param {Boolean} wrapCallback Wrap callback and return more parameters or not\n * @return {Object} attributes or null\n */\n\n\nexport var filterEventAttributes = function filterEventAttributes(el, newHandler) {\n var wrapCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!el || _isFunction(el)) {\n return null;\n }\n\n var props = /*#__PURE__*/React.isValidElement(el) ? el.props : el;\n\n if (!_isObject(props)) {\n return null;\n }\n\n var out = null; // eslint-disable-next-line no-restricted-syntax\n\n for (var i in props) {\n if ({}.hasOwnProperty.call(props, i) && EVENT_ATTRIBUTES[i]) {\n if (!out) out = {};\n out[i] = newHandler || (wrapCallback ? getEventHandlerOfElement(props[i], props) : props[i]);\n }\n }\n\n return out;\n};\n\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\n\nexport var filterEventsOfChild = function filterEventsOfChild(props, data, index) {\n if (!_isObject(props)) {\n return null;\n }\n\n var out = null; // eslint-disable-next-line no-restricted-syntax\n\n for (var i in props) {\n if ({}.hasOwnProperty.call(props, i) && EVENT_ATTRIBUTES[i] && _isFunction(props[i])) {\n if (!out) out = {};\n out[i] = getEventHandlerOfChild(props[i], data, index);\n }\n }\n\n return out;\n};\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\n\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n\n return true;\n};\nexport var isSsr = function isSsr() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\n\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\n\n\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n React.Children.forEach(children, function (entry) {\n if (entry && entry.type && _isString(entry.type) && SVG_TAGS.indexOf(entry.type) >= 0) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, [\"children\"]);\n\n if (nextChildren && prevChildren) {\n // eslint-disable-next-line no-use-before-define\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n\n return false;\n }\n\n return false;\n};\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\n\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n\n if (Children.count(nextChildren) !== Children.count(prevChildren)) {\n return false;\n }\n\n var count = Children.count(nextChildren);\n\n if (count === 0) {\n return true;\n }\n\n if (count === 1) {\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n\n for (var _i = 0; _i < count; _i++) {\n var nextChild = nextChildren[_i];\n var prevChild = prevChildren[_i];\n\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n }\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n\n return true;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n Children.forEach(children, function (child, index) {\n if (child && isSvgElement(child)) {\n elements.push(child);\n } else if (child && renderMap[getDisplayName(child.type)]) {\n var displayName = getDisplayName(child.type);\n var _renderMap$displayNam = renderMap[displayName],\n handler = _renderMap$displayNam.handler,\n once = _renderMap$displayNam.once;\n\n if (once && !record[displayName] || !once) {\n var results = handler(child, displayName, index);\n\n if (_isArray(results)) {\n elements = [elements].concat(_toConsumableArray(results));\n } else {\n elements.push(results);\n }\n\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n var result = -1;\n Children.forEach(children, function (entry, index) {\n if (entry === child) {\n result = index;\n }\n });\n return result;\n};","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n/**\n * @fileOverview Surface\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport { getPresentationAttributes } from '../util/ReactUtils';\n\nfunction Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n others = _objectWithoutProperties(props, [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\"]);\n\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = classNames('recharts-surface', className);\n var attrs = getPresentationAttributes(others);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, attrs, {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n version: \"1.1\"\n }), children);\n}\n\nexport default Surface;","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}","import { pi, tau } from \"../math.js\";\nexport default {\n draw: function draw(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};","export default {\n draw: function draw(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\nexport default {\n draw: function draw(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};","export default {\n draw: function draw(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};","import { pi, tau } from \"../math.js\";\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\nexport default {\n draw: function draw(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n\n context.closePath();\n }\n};","var sqrt3 = Math.sqrt(3);\nexport default {\n draw: function draw(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\nexport default {\n draw: function draw(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n\n this._ = \"\";\n}\n\nfunction path() {\n return new Path();\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function moveTo(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function lineTo(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function quadraticCurveTo(x1, y1, x, y) {\n this._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x1,y1).\n\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) ; // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21; // If the start tangent is not coincident with (x0,y0), line to.\n\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + +(y01 * x20 > x01 * y20) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x0,y0).\n\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n } // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n } // Is this arc empty? We’re done.\n\n\n if (!r) return; // Does the angle go the wrong way? Flip the direction.\n\n if (da < 0) da = da % tau + tau; // Is this a complete circle? Draw two arcs to complete the circle.\n\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n } // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + +(da >= pi) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function rect(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + +w + \"v\" + +h + \"h\" + -w + \"Z\";\n },\n toString: function toString() {\n return this._;\n }\n};\nexport default path;","export default function (x) {\n return function constant() {\n return x;\n };\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Curve\n */\n\n\nimport React, { PureComponent } from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'd3-shape';\nimport classNames from 'classnames';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\nvar SYMBOL_FACTORIES = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\n\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(type.slice(0, 1).toUpperCase()).concat(type.slice(1));\n return SYMBOL_FACTORIES[name] || symbolCircle;\n};\n\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n\n case 'square':\n return size * size;\n\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n\n default:\n return Math.PI * size * size / 4;\n }\n};\n\nvar Symbols = /*#__PURE__*/function (_PureComponent) {\n _inherits(Symbols, _PureComponent);\n\n function Symbols() {\n _classCallCheck(this, Symbols);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Symbols).apply(this, arguments));\n }\n\n _createClass(Symbols, [{\n key: \"getPath\",\n\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n value: function getPath() {\n var _this$props = this.props,\n size = _this$props.size,\n sizeType = _this$props.sizeType,\n type = _this$props.type;\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n size = _this$props2.size;\n\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props), {\n className: classNames('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: this.getPath()\n }));\n }\n\n return null;\n }\n }]);\n\n return Symbols;\n}(PureComponent);\n\nSymbols.displayName = 'Symbols';\nSymbols.defaultProps = {\n type: 'circle',\n size: 64,\n sizeType: 'area'\n};\nexport default Symbols;","import { path } from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\nexport var symbols = [circle, cross, diamond, square, star, triangle, wye];\nexport default function () {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function (_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function (_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function (_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Default Legend Content\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Surface from '../container/Surface';\nimport Symbols from '../shape/Symbols';\nimport { filterEventsOfChild } from '../util/ReactUtils';\nvar SIZE = 32;\n\nvar DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultLegendContent, _PureComponent);\n\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DefaultLegendContent).apply(this, arguments));\n }\n\n _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n value: function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var _classNames;\n\n var finalFormatter = entry.formatter || formatter;\n var className = classNames((_classNames = {\n 'recharts-legend-item': true\n }, _defineProperty(_classNames, \"legend-item-\".concat(i), true), _defineProperty(_classNames, \"inactive\", entry.inactive), _classNames));\n\n if (entry.type === 'none') {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle,\n key: \"legend-item-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, filterEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\"\n }, finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n\n if (!payload || !payload.length) {\n return null;\n }\n\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n\n return DefaultLegendContent;\n}(PureComponent);\n\nDefaultLegendContent.displayName = 'Legend';\nDefaultLegendContent.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n};\nexport default DefaultLegendContent;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Legend\n */\n\n\nimport React, { PureComponent } from 'react';\nimport DefaultLegendContent from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\n\nvar defaultUniqBy = function defaultUniqBy(entry) {\n return entry.value;\n};\n\nvar getUniqPaylod = function getUniqPaylod(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n};\n\nvar renderContent = function renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return content(props);\n }\n\n return /*#__PURE__*/React.createElement(DefaultLegendContent, props);\n};\n\nvar EPS = 1;\n\nvar Legend = /*#__PURE__*/function (_PureComponent) {\n _inherits(Legend, _PureComponent);\n\n function Legend() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Legend);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Legend)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n return _this;\n }\n\n _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (boxWidth >= 0 && boxHeight >= 0) {\n return {\n width: boxWidth,\n height: boxHeight\n };\n }\n\n return null;\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var box = this.getBBox() || {\n width: 0\n };\n hPos = {\n left: ((chartWidth || 0) - box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box = this.getBBox() || {\n height: 0\n };\n\n vPos = {\n top: ((chartHeight || 0) - _box.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n\n return _objectSpread({}, hPos, {}, vPos);\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n var onBBoxUpdate = this.props.onBBoxUpdate;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(box);\n }\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n paylodUniqBy = _this$props2.paylodUniqBy,\n payload = _this$props2.payload;\n\n var outerStyle = _objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle), {}, wrapperStyle);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread({}, this.props, {\n payload: getUniqPaylod(paylodUniqBy, payload)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var layout = item.props.layout;\n\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n\n return null;\n }\n }]);\n\n return Legend;\n}(PureComponent);\n\nLegend.displayName = 'Legend';\nLegend.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n};\nexport default Legend;","import raf from 'raf';\nexport default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n raf(shouldUpdate);\n }\n };\n\n raf(shouldUpdate);\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n\n var handleChange = function handleChange() {\n return null;\n };\n\n var shouldStop = false;\n\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n\n var styles = _style;\n\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n\n if (typeof _style === 'function') {\n _style();\n }\n };\n\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","import _intersection from \"lodash/intersection\";\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/* eslint no-console: 0 */\n\n\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nvar IN_LINE_PREFIX_LIST = ['-webkit-', '-moz-', '-o-', '-ms-'];\nvar IN_COMPATIBLE_PROPERTY = ['transform', 'transformOrigin', 'transition'];\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return _intersection(Object.keys(preObj), Object.keys(nextObj));\n};\nexport var identity = function identity(param) {\n return param;\n};\n/*\n * @description: convert camel case to dash case\n * string => string\n */\n\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\n/*\n * @description: add compatible style prefix\n * (string, string) => object\n */\n\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (IN_COMPATIBLE_PROPERTY.indexOf(name) === -1) {\n return _defineProperty({}, name, value);\n }\n\n var isTransition = name === 'transition';\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var styleVal = value;\n return PREFIX_LIST.reduce(function (result, property, i) {\n if (isTransition) {\n styleVal = value.replace(/(transform|transform-origin)/gim, \"\".concat(IN_LINE_PREFIX_LIST[i], \"$1\"));\n }\n\n return _objectSpread({}, result, _defineProperty({}, property + camelName, styleVal));\n }, {});\n};\nexport var log = function log() {\n var _console;\n\n (_console = console).log.apply(_console, arguments);\n};\n/*\n * @description: log the value of a varible\n * string => any => any\n */\n\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\n\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\n\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread({}, res, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\n/*\n * @description: add compatible prefix to style\n * object => object\n */\n\nexport var translateStyle = function translateStyle(style) {\n return Object.keys(style).reduce(function (res, key) {\n return _objectSpread({}, res, generatePrefixStyle(key, res[key]));\n }, style);\n};\nexport var compose = function compose() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('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 console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\n\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\n\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\n\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\n\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n\n var newParams = _toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)).concat([0]);\n\n return multyTime(newParams, t);\n };\n}; // calculate cubic-bezier using Newton's method\n\n\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n default:\n {\n var easing = args[0].split('(');\n\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + 'oneOf \\'linear\\', \\'ease\\', \\'ease-in\\', \\'ease-out\\', ' + '\\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', instead received %s', args);\n }\n }\n }\n }\n\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n } else if (value < 0) {\n return 0;\n }\n\n return value;\n };\n\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n\n x = rangeValue(x - evalT / derVal);\n }\n\n return curveY(x);\n };\n\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n\n return [newX, newV];\n };\n\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var easing = args[0];\n\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n\n case 'spring':\n return configSpring();\n\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n\n warn(false, '[configEasing]: first argument should be one of \\'ease\\', \\'ease-in\\', ' + '\\'ease-out\\', \\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', \\'linear\\' and \\'spring\\', instead received %s', args);\n }\n }\n\n if (typeof easing === 'function') {\n return easing;\n }\n\n warn(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args);\n return null;\n};","import _filter from \"lodash/filter\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport raf, { cancel as caf } from 'raf';\nimport { getIntersectionKeys, mapObject } from './util';\n\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\n\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\n\n\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n\n return _objectSpread({}, val, {\n from: newX,\n velocity: newV\n });\n }\n\n return val;\n }, preVals);\n\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread({}, val, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n\n return val;\n }, preVals);\n }\n\n return calStepperVals(easing, nextStepVals, steps - 1);\n}; // configure update function\n\n\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread({}, res, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread({}, res, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n\n var update = function update() {\n return null;\n };\n\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n\n var shouldStopAnimation = function shouldStopAnimation() {\n return !_filter(stepperStyle, needContinue).length;\n }; // stepper timing function like spring\n\n\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps); // get union set and add compatible prefix\n\n render(_objectSpread({}, from, to, getCurrStyle(stepperStyle)));\n preTime = now;\n\n if (!shouldStopAnimation()) {\n cafId = raf(update);\n }\n }; // t => val timing function like cubic-bezier\n\n\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle); // get union set and add compatible prefix\n\n render(_objectSpread({}, from, to, currStyle));\n\n if (t < 1) {\n cafId = raf(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread({}, from, to, finalStyle));\n }\n };\n\n update = easing.isStepper ? stepperUpdate : timingUpdate; // return start animation method\n\n return function () {\n raf(update); // return stop animation method\n\n return function () {\n caf(cafId);\n };\n };\n});","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity, translateStyle } from './util';\n\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n\n function Animate(props, context) {\n var _this;\n\n _classCallCheck(this, Animate);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Animate).call(this, props, context));\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n\n if (!isActive) {\n _this.state = {\n style: {}\n }; // if children is a function and animation is not active, set style to 'to'\n\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n\n return _this;\n }\n\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n\n if (!isActive || !canBegin) {\n return;\n }\n\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate;\n\n if (!canBegin) {\n return;\n }\n\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, this.props.to) : this.props.to\n };\n\n if (this.state && this.state.style) {\n if (attributeName && this.state.style[attributeName] !== this.props.to || !attributeName && this.state.style !== this.props.to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n\n return;\n }\n\n if (_isEqual(prevProps.to, this.props.to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n\n if (this.manager) {\n this.manager.stop();\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n\n var from = isTriggered || shouldReAnimate ? this.props.from : prevProps.to;\n\n if (this.state && this.state.style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n\n if (attributeName && this.state.style[attributeName] !== from || !attributeName && this.state.style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n\n this.runAnimation(_objectSpread({}, this.props, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n\n if (typeof easing === 'function' || easing === 'spring') {\n return _toConsumableArray(sequence).concat([_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n\n var transition = getTransitionVal(properties, duration, easing);\n\n var newStyle = _objectSpread({}, preItem.style, style, {\n transition: transition\n });\n\n return _toConsumableArray(sequence).concat([newStyle, duration, onAnimationEnd]).filter(identity);\n };\n\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread({}, to, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"]);\n\n var count = Children.count(children);\n var stateStyle = translateStyle(this.state.style);\n\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n\n if (!isActive || count === 0) {\n return children;\n }\n\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread({}, others, {\n style: _objectSpread({}, style, stateStyle),\n className: className\n }));\n return res;\n };\n\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n\n return Animate;\n}(PureComponent);\n\nAnimate.displayName = 'Animate';\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nexport default Animate;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isNumber from \"lodash/isNumber\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component, Children } from 'react';\nimport { Transition } from 'react-transition-group';\nimport Animate from './Animate';\n\nvar parseDurationOfSingleTransition = function parseDurationOfSingleTransition() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var steps = options.steps,\n duration = options.duration;\n\n if (steps && steps.length) {\n return steps.reduce(function (result, entry) {\n return result + (_isNumber(entry.duration) && entry.duration > 0 ? entry.duration : 0);\n }, 0);\n }\n\n if (_isNumber(duration)) {\n return duration;\n }\n\n return 0;\n};\n\nvar AnimateGroupChild = /*#__PURE__*/function (_Component) {\n _inherits(AnimateGroupChild, _Component);\n\n function AnimateGroupChild() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, AnimateGroupChild);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(AnimateGroupChild)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n isActive: false\n };\n\n _this.handleEnter = function (node, isAppearing) {\n var _this$props = _this.props,\n appearOptions = _this$props.appearOptions,\n enterOptions = _this$props.enterOptions;\n\n _this.handleStyleActive(isAppearing ? appearOptions : enterOptions);\n };\n\n _this.handleExit = function () {\n _this.handleStyleActive(_this.props.leaveOptions);\n };\n\n return _this;\n }\n\n _createClass(AnimateGroupChild, [{\n key: \"handleStyleActive\",\n value: function handleStyleActive(style) {\n if (style) {\n var onAnimationEnd = style.onAnimationEnd ? function () {\n style.onAnimationEnd();\n } : null;\n this.setState(_objectSpread({}, style, {\n onAnimationEnd: onAnimationEnd,\n isActive: true\n }));\n }\n }\n }, {\n key: \"parseTimeout\",\n value: function parseTimeout() {\n var _this$props2 = this.props,\n appearOptions = _this$props2.appearOptions,\n enterOptions = _this$props2.enterOptions,\n leaveOptions = _this$props2.leaveOptions;\n return parseDurationOfSingleTransition(appearOptions) + parseDurationOfSingleTransition(enterOptions) + parseDurationOfSingleTransition(leaveOptions);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n children = _this$props3.children,\n appearOptions = _this$props3.appearOptions,\n enterOptions = _this$props3.enterOptions,\n leaveOptions = _this$props3.leaveOptions,\n props = _objectWithoutProperties(_this$props3, [\"children\", \"appearOptions\", \"enterOptions\", \"leaveOptions\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n timeout: this.parseTimeout()\n }), function () {\n return /*#__PURE__*/React.createElement(Animate, _this2.state, Children.only(children));\n });\n }\n }]);\n\n return AnimateGroupChild;\n}(Component);\n\nexport default AnimateGroupChild;","import React, { Children } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport AnimateGroupChild from './AnimateGroupChild';\n\nfunction AnimateGroup(props) {\n var component = props.component,\n children = props.children,\n appear = props.appear,\n enter = props.enter,\n leave = props.leave;\n return /*#__PURE__*/React.createElement(TransitionGroup, {\n component: component\n }, Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(AnimateGroupChild, {\n appearOptions: appear,\n enterOptions: enter,\n leaveOptions: leave,\n key: \"child-\".concat(index)\n }, child);\n }));\n}\n\nAnimateGroup.defaultProps = {\n component: 'span'\n};\nexport default AnimateGroup;","import Animate from './Animate';\nimport { configBezier, configSpring } from './easing';\nimport { translateStyle } from './util';\nimport AnimateGroup from './AnimateGroup';\nexport { configSpring, configBezier, AnimateGroup, translateStyle };\nexport default Animate;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _sortBy from \"lodash/sortBy\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumOrStr } from '../util/DataUtils';\n\nvar defaultFormatter = function defaultFormatter(value) {\n return _isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n};\n\nvar DefaultTooltipContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultTooltipContent, _PureComponent);\n\n function DefaultTooltipContent() {\n _classCallCheck(this, DefaultTooltipContent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DefaultTooltipContent).apply(this, arguments));\n }\n\n _createClass(DefaultTooltipContent, [{\n key: \"renderContent\",\n value: function renderContent() {\n var _this$props = this.props,\n payload = _this$props.payload,\n separator = _this$props.separator,\n formatter = _this$props.formatter,\n itemStyle = _this$props.itemStyle,\n itemSorter = _this$props.itemSorter;\n\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? _sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var name = entry.name,\n value = entry.value;\n\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i);\n\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n\n value = _formatted[0];\n name = _formatted[1];\n } else {\n value = formatted;\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, name) : null, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, value), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n wrapperClassName = _this$props2.wrapperClassName,\n contentStyle = _this$props2.contentStyle,\n labelClassName = _this$props2.labelClassName,\n labelStyle = _this$props2.labelStyle,\n label = _this$props2.label,\n labelFormatter = _this$props2.labelFormatter;\n\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n\n var hasLabel = isNumOrStr(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = classNames('recharts-default-tooltip', wrapperClassName);\n var labelCN = classNames('recharts-tooltip-label', labelClassName);\n\n if (hasLabel && labelFormatter) {\n finalLabel = labelFormatter(label);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperCN,\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, finalLabel), this.renderContent());\n }\n }]);\n\n return DefaultTooltipContent;\n}(PureComponent);\n\nDefaultTooltipContent.displayName = 'DefaultTooltipContent';\nDefaultTooltipContent.defaultProps = {\n separator: ' : ',\n contentStyle: {},\n itemStyle: {},\n labelStyle: {}\n};\nexport default DefaultTooltipContent;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Tooltip\n */\n\n\nimport React, { PureComponent } from 'react';\nimport { translateStyle } from 'react-smooth';\nimport classNames from 'classnames';\nimport DefaultTooltipContent from './DefaultTooltipContent';\nimport { isSsr } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\nvar CLS_PREFIX = 'recharts-tooltip-wrapper';\nvar EPS = 1;\n\nvar defaultUniqBy = function defaultUniqBy(entry) {\n return entry.dataKey;\n};\n\nvar getUniqPaylod = function getUniqPaylod(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n};\n\nvar defaultProps = {\n active: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n offset: 10,\n viewBox: {\n x1: 0,\n x2: 0,\n y1: 0,\n y2: 0\n },\n coordinate: {\n x: 0,\n y: 0\n },\n cursorStyle: {},\n separator: ' : ',\n wrapperStyle: {},\n contentStyle: {},\n itemStyle: {},\n labelStyle: {},\n cursor: true,\n isAnimationActive: !isSsr(),\n animationEasing: 'ease',\n animationDuration: 400,\n filterNull: true,\n useTranslate3d: false\n};\n\nvar renderContent = function renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return content(props);\n }\n\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n};\n\nvar Tooltip = /*#__PURE__*/function (_PureComponent) {\n _inherits(Tooltip, _PureComponent);\n\n function Tooltip() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Tooltip);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Tooltip)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n\n _this.getTranslate = function (_ref) {\n var key = _ref.key,\n tooltipDimension = _ref.tooltipDimension,\n viewBoxDimension = _ref.viewBoxDimension;\n var _this$props = _this.props,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n coordinate = _this$props.coordinate,\n offset = _this$props.offset,\n position = _this$props.position,\n viewBox = _this$props.viewBox;\n\n if (position && isNumber(position[key])) {\n return position[key];\n }\n\n var restricted = coordinate[key] - tooltipDimension - offset;\n var unrestricted = coordinate[key] + offset;\n\n if (allowEscapeViewBox[key]) {\n return unrestricted;\n }\n\n var tooltipBoundary = coordinate[key] + tooltipDimension + offset;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(restricted, viewBox[key]);\n }\n\n return Math.max(unrestricted, viewBox[key]);\n };\n\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n isAnimationActive = _this$props2.isAnimationActive,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n filterNull = _this$props2.filterNull,\n paylodUniqBy = _this$props2.paylodUniqBy;\n var finalPayload = getUniqPaylod(paylodUniqBy, filterNull && payload && payload.length ? payload.filter(function (entry) {\n return !_isNil(entry.value);\n }) : payload);\n var hasPayload = finalPayload && finalPayload.length;\n var _this$props3 = this.props,\n content = _this$props3.content,\n viewBox = _this$props3.viewBox,\n coordinate = _this$props3.coordinate,\n position = _this$props3.position,\n active = _this$props3.active,\n wrapperStyle = _this$props3.wrapperStyle;\n\n var outerStyle = _objectSpread({\n pointerEvents: 'none',\n visibility: active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0\n }, wrapperStyle);\n\n var translateX, translateY;\n\n if (position && isNumber(position.x) && isNumber(position.y)) {\n translateX = position.x;\n translateY = position.y;\n } else {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n\n if (boxWidth > 0 && boxHeight > 0 && coordinate) {\n translateX = this.getTranslate({\n key: 'x',\n tooltipDimension: boxWidth,\n viewBoxDimension: viewBox.width\n });\n translateY = this.getTranslate({\n key: 'y',\n tooltipDimension: boxHeight,\n viewBoxDimension: viewBox.height\n });\n } else {\n outerStyle.visibility = 'hidden';\n }\n }\n\n outerStyle = _objectSpread({}, translateStyle({\n transform: this.props.useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n }), {}, outerStyle);\n\n if (isAnimationActive && active) {\n outerStyle = _objectSpread({}, translateStyle({\n transition: \"transform \".concat(animationDuration, \"ms \").concat(animationEasing)\n }), {}, outerStyle);\n }\n\n var cls = classNames(CLS_PREFIX, (_classNames = {}, _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread({}, this.props, {\n payload: finalPayload\n })));\n }\n }]);\n\n return Tooltip;\n}(PureComponent);\n\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = defaultProps;\nexport default Tooltip;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _debounce from \"lodash/debounce\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\n\n\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport ReactResizeDetector from 'react-resize-detector';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\n\nvar ResponsiveContainer = /*#__PURE__*/function (_Component) {\n _inherits(ResponsiveContainer, _Component);\n\n function ResponsiveContainer(props) {\n var _this;\n\n _classCallCheck(this, ResponsiveContainer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveContainer).call(this, props));\n\n _this.updateDimensionsImmediate = function () {\n if (!_this.mounted) {\n return;\n }\n\n var newSize = _this.getContainerSize();\n\n if (newSize) {\n var _this$state = _this.state,\n oldWidth = _this$state.containerWidth,\n oldHeight = _this$state.containerHeight;\n var containerWidth = newSize.containerWidth,\n containerHeight = newSize.containerHeight;\n\n if (containerWidth !== oldWidth || containerHeight !== oldHeight) {\n _this.setState({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }\n };\n\n _this.state = {\n containerWidth: -1,\n containerHeight: -1\n };\n _this.handleResize = props.debounce > 0 ? _debounce(_this.updateDimensionsImmediate, props.debounce) : _this.updateDimensionsImmediate;\n return _this;\n }\n /* eslint-disable react/no-did-mount-set-state */\n\n\n _createClass(ResponsiveContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n var size = this.getContainerSize();\n\n if (size) {\n this.setState(size);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"getContainerSize\",\n value: function getContainerSize() {\n if (!this.container) {\n return null;\n }\n\n return {\n containerWidth: this.container.clientWidth,\n containerHeight: this.container.clientHeight\n };\n }\n }, {\n key: \"renderChart\",\n value: function renderChart() {\n var _this$state2 = this.state,\n containerWidth = _this$state2.containerWidth,\n containerHeight = _this$state2.containerHeight;\n\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n\n var _this$props = this.props,\n aspect = _this$props.aspect,\n width = _this$props.width,\n height = _this$props.height,\n minWidth = _this$props.minWidth,\n minHeight = _this$props.minHeight,\n maxHeight = _this$props.maxHeight,\n children = _this$props.children;\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n } // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n\n\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /*#__PURE__*/React.cloneElement(children, {\n width: calculatedWidth,\n height: calculatedHeight\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n minWidth = _this$props2.minWidth,\n minHeight = _this$props2.minHeight,\n width = _this$props2.width,\n height = _this$props2.height,\n maxHeight = _this$props2.maxHeight,\n id = _this$props2.id,\n className = _this$props2.className;\n var style = {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: classNames('recharts-responsive-container', className),\n style: style,\n ref: function ref(node) {\n _this2.container = node;\n }\n }, this.renderChart(), /*#__PURE__*/React.createElement(ReactResizeDetector, {\n handleWidth: true,\n handleHeight: true,\n onResize: this.handleResize\n }));\n }\n }]);\n\n return ResponsiveContainer;\n}(Component);\n\nResponsiveContainer.displayName = 'ResponsiveContainer';\nResponsiveContainer.defaultProps = {\n width: '100%',\n height: '100%',\n debounce: 0\n};\nexport default ResponsiveContainer;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * @fileOverview Cross\n */\n\n\nimport { PRESENTATION_ATTRIBUTES } from '../util/ReactUtils';\n\nfunction Cell() {\n return null;\n}\n\nCell.propTypes = _objectSpread({}, PRESENTATION_ATTRIBUTES);\nCell.displayName = 'Cell';\nexport default Cell;","export default function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}","import ascending from \"./ascending\";\nexport default function (compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;else hi = mid;\n }\n\n return lo;\n },\n right: function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;else lo = mid + 1;\n }\n\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function (d, x) {\n return ascending(f(d), x);\n };\n}","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;","import { pair } from \"./pairs\";\nexport default function (values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}","export default function (x) {\n return x === null ? NaN : +x;\n}","var array = Array.prototype;\nexport var slice = array.slice;\nexport var map = array.map;","export default function (start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\nexport default function (start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n\n while (++i < n) {\n ticks[i] = (start + i) * step;\n }\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n\n while (++i < n) {\n ticks[i] = (start - i) / step;\n }\n }\n\n if (reverse) ticks.reverse();\n return ticks;\n}\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;else if (error >= e5) step1 *= 5;else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}","export default function (values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}","import number from \"./number\";\nexport default function (values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n this.range(domain);\n break;\n\n default:\n this.range(range).domain(domain);\n break;\n }\n\n return this;\n}\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n this.interpolator(domain);\n break;\n\n default:\n this.interpolator(interpolator).domain(domain);\n break;\n }\n\n return this;\n}","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function has(key) {\n return prefix + key in this;\n },\n get: function get(key) {\n return this[prefix + key];\n },\n set: function set(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function remove(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function clear() {\n for (var property in this) {\n if (property[0] === prefix) delete this[property];\n }\n },\n keys: function keys() {\n var keys = [];\n\n for (var property in this) {\n if (property[0] === prefix) keys.push(property.slice(1));\n }\n\n return keys;\n },\n values: function values() {\n var values = [];\n\n for (var property in this) {\n if (property[0] === prefix) values.push(this[property]);\n }\n\n return values;\n },\n entries: function entries() {\n var entries = [];\n\n for (var property in this) {\n if (property[0] === prefix) entries.push({\n key: property.slice(1),\n value: this[property]\n });\n }\n\n return entries;\n },\n size: function size() {\n var size = 0;\n\n for (var property in this) {\n if (property[0] === prefix) ++size;\n }\n\n return size;\n },\n empty: function empty() {\n for (var property in this) {\n if (property[0] === prefix) return false;\n }\n\n return true;\n },\n each: function each(f) {\n for (var property in this) {\n if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n }\n};\n\nfunction map(object, f) {\n var map = new Map(); // Copy constructor.\n\n if (object instanceof Map) object.each(function (value, key) {\n map.set(key, value);\n }); // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n if (f == null) while (++i < n) {\n map.set(i, object[i]);\n } else while (++i < n) {\n map.set(f(o = object[i], i, object), o);\n }\n } // Convert object to map.\n else if (object) for (var key in object) {\n map.set(key, object[key]);\n }\n return map;\n}\n\nexport default map;","import { default as map, prefix } from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function add(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set(); // Copy constructor.\n\n if (object instanceof Set) object.each(function (value) {\n set.add(value);\n }); // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1,\n n = object.length;\n if (f == null) while (++i < n) {\n set.add(object[i]);\n } else while (++i < n) {\n set.add(f(object[i], i, object));\n }\n }\n return set;\n}\n\nexport default set;","var array = Array.prototype;\nexport var map = array.map;\nexport var slice = array.slice;","import { map } from \"d3-collection\";\nimport { slice } from \"./array\";\nimport { initRange } from \"./init\";\nexport var implicit = {\n name: \"implicit\"\n};\nexport default function ordinal() {\n var index = map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\",\n i = index.get(key);\n\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1,\n n = _.length,\n d,\n key;\n\n while (++i < n) {\n if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n }\n\n return scale;\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = slice.call(_), scale) : range.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n return scale;\n}","import { range as sequence } from \"d3-array\";\nimport { initRange } from \"./init\";\nimport ordinal from \"./ordinal\";\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 1],\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function (i) {\n return start + step * i;\n });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function (_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function (_) {\n return range = [+_[0], +_[1]], round = true, rescale();\n };\n\n scale.bandwidth = function () {\n return bandwidth;\n };\n\n scale.step = function () {\n return step;\n };\n\n scale.round = function (_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function (_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function (_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function () {\n return band(domain(), range).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function () {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}","export default function (constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n\n for (var key in definition) {\n prototype[key] = definition[key];\n }\n\n return prototype;\n}","import define, { extend } from \"./define.js\";\nexport function Color() {}\nvar _darker = 0.7;\nexport { _darker as darker };\n\nvar _brighter = 1 / _darker;\n\nexport { _brighter as brighter };\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\ndefine(Color, color, {\n copy: function copy(channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n displayable: function displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) // #f000\n : null // invalid hex\n ) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\ndefine(Rgb, rgb, extend(Color, {\n brighter: function brighter(k) {\n k = k == null ? _brighter : Math.pow(_brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function darker(k) {\n k = k == null ? _darker : Math.pow(_darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function rgb() {\n return this;\n },\n displayable: function displayable() {\n return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;else if (l <= 0 || l >= 1) h = s = NaN;else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl();\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;else if (g === max) h = (b - r) / s + 2;else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n\n return new Hsl(h, s, l, o.opacity);\n}\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function brighter(k) {\n k = k == null ? _brighter : Math.pow(_brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function darker(k) {\n k = k == null ? _darker : Math.pow(_darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity);\n },\n displayable: function displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;\n },\n formatHsl: function formatHsl() {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\") + (this.h || 0) + \", \" + (this.s || 0) * 100 + \"%, \" + (this.l || 0) * 100 + \"%\" + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n/* From FvD 13.37, CSS Color Module Level 3 */\n\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n}","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1,\n t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\n}\nexport default function (values) {\n var n = values.length - 1;\n return function (t) {\n var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}","export default function (x) {\n return function () {\n return x;\n };\n}","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function (t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function (t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function (a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}","import { rgb as colorRgb } from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, { gamma } from \"./color.js\";\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function (t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function (colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i,\n color;\n\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function (t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);","import { basis } from \"./basis.js\";\nexport default function (values) {\n var n = values.length;\n return function (t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}","export default function (a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function (t) {\n for (i = 0; i < n; ++i) {\n c[i] = a[i] * (1 - t) + b[i] * t;\n }\n\n return c;\n };\n}\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}","import value from \"./value.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) {\n x[i] = value(a[i], b[i]);\n }\n\n for (; i < nb; ++i) {\n c[i] = b[i];\n }\n\n return function (t) {\n for (i = 0; i < na; ++i) {\n c[i] = x[i](t);\n }\n\n return c;\n };\n}","export default function (a, b) {\n var d = new Date();\n return a = +a, b = +b, function (t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return a * (1 - t) + b * t;\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport value from \"./value.js\";\nexport default function (a, b) {\n var i = {},\n c = {},\n k;\n if (a === null || _typeof(a) !== \"object\") a = {};\n if (b === null || _typeof(b) !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function (t) {\n for (k in i) {\n c[k] = i[k](t);\n }\n\n return c;\n };\n}","import number from \"./number.js\";\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function () {\n return b;\n };\n}\n\nfunction one(b) {\n return function (t) {\n return b(t) + \"\";\n };\n}\n\nexport default function (a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0,\n // scan index for next number in b\n am,\n // current match in a\n bm,\n // current match in b\n bs,\n // string preceding current number in b, if any\n i = -1,\n // index in s\n s = [],\n // string constants and placeholders\n q = []; // number interpolators\n // Coerce inputs to strings.\n\n a = a + \"\", b = b + \"\"; // Interpolate pairs of numbers in a & b.\n\n while ((am = reA.exec(a)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n if ((am = am[0]) === (bm = bm[0])) {\n // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else {\n // interpolate non-matching numbers\n s[++i] = null;\n q.push({\n i: i,\n x: number(am, bm)\n });\n }\n\n bi = reB.lastIndex;\n } // Add remains of b.\n\n\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n } // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n\n\n return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function (t) {\n for (var i = 0, o; i < b; ++i) {\n s[(o = q[i]).i] = o.x(t);\n }\n\n return s.join(\"\");\n });\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { color } from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport { genericArray } from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n var t = _typeof(b),\n c;\n\n return b == null || t === \"boolean\" ? constant(b) : (t === \"number\" ? number : t === \"string\" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object : number)(a, b);\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}","export default function (x) {\n return +x;\n}","import { bisect } from \"d3-array\";\nimport { interpolate as interpolateValue, interpolateNumber, interpolateRound } from \"d3-interpolate\";\nimport { map, slice } from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\nvar unit = [0, 1];\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= a = +a) ? function (x) {\n return (x - a) / b;\n } : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(domain) {\n var a = domain[0],\n b = domain[domain.length - 1],\n t;\n if (a > b) t = a, a = b, b = t;\n return function (x) {\n return Math.max(a, Math.min(b, x));\n };\n} // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\n\n\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0],\n d1 = domain[1],\n r0 = range[0],\n r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function (x) {\n return r0(d0(x));\n };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1; // Reverse descending domains.\n\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function (x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n}\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function (y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function (_) {\n return arguments.length ? (domain = map.call(_, number), clamp === identity || (clamp = clamper(domain)), rescale()) : domain.slice();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function (_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = _ ? clamper(domain) : identity, scale) : clamp !== identity;\n };\n\n scale.interpolate = function (_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\nexport default function continuous(transform, untransform) {\n return transformer()(transform, untransform);\n}","export default function (x) {\n return function () {\n return x;\n };\n}","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function () {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === undefined ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};","export default function (x) {\n return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString(\"en\").replace(/,/g, \"\") : x.toString(10);\n} // Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\n\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n\n var i,\n coefficient = x.slice(0, i); // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n\n return [coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, +x.slice(i + 1)];\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport var prefixExponent;\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var format;\nexport var formatPrefix;\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\nexport default {\n \"%\": function _(x, p) {\n return (x * 100).toFixed(p);\n },\n \"b\": function b(x) {\n return Math.round(x).toString(2);\n },\n \"c\": function c(x) {\n return x + \"\";\n },\n \"d\": formatDecimal,\n \"e\": function e(x, p) {\n return x.toExponential(p);\n },\n \"f\": function f(x, p) {\n return x.toFixed(p);\n },\n \"g\": function g(x, p) {\n return x.toPrecision(p);\n },\n \"o\": function o(x) {\n return Math.round(x).toString(8);\n },\n \"p\": function p(x, _p) {\n return formatRounded(x * 100, _p);\n },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function X(x) {\n return Math.round(x).toString(16).toUpperCase();\n },\n \"x\": function x(_x) {\n return Math.round(_x).toString(16);\n }\n};","export default function (x) {\n return x;\n}","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport { prefixExponent } from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\nvar map = Array.prototype.map,\n prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\nexport default function (locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type; // The \"n\" type is an alias for \",g\".\n\n if (type === \"n\") comma = true, type = \"g\"; // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\"; // If zero fill is specified, padding goes after sign and before digits.\n\n if (zero || fill === \"0\" && align === \"=\") zero = true, fill = \"0\", align = \"=\"; // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\"; // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type); // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n\n precision = precision === undefined ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i,\n n,\n c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value; // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n\n var valueNegative = value < 0 || 1 / value < 0; // Perform the initial formatting.\n\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision); // Trim insignificant zeros.\n\n if (trim) value = formatTrim(value); // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false; // Compute the prefix and suffix.\n\n valuePrefix = (valueNegative ? sign === \"(\" ? sign : minus : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\"); // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n\n if (maybeSuffix) {\n i = -1, n = value.length;\n\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n } // If the fill character is not \"0\", grouping is applied before padding.\n\n\n if (comma && !zero) value = group(value, Infinity); // Compute the padding.\n\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\"; // If the fill character is \"0\", grouping is applied after padding.\n\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\"; // Reconstruct the final output based on the desired alignment.\n\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n\n default:\n value = padding + valuePrefix + value + valueSuffix;\n break;\n }\n\n return numerals(value);\n }\n\n format.toString = function () {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function (value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}","export default function (grouping, thousands) {\n return function (value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}","export default function (numerals) {\n return function (value) {\n return value.replace(/[0-9]/g, function (i) {\n return numerals[+i];\n });\n };\n}","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function (s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n\n default:\n if (!+s[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}","import exponent from \"./exponent.js\";\nexport default function (step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}","import { tickStep } from \"d3-array\";\nimport { format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound } from \"d3-format\";\nexport default function (start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n\n switch (specifier.type) {\n case \"s\":\n {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\":\n {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n\n case \"f\":\n case \"%\":\n {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n\n return format(specifier);\n}","import exponent from \"./exponent.js\";\nexport default function (step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}","import exponent from \"./exponent.js\";\nexport default function (step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}","import { ticks, tickIncrement } from \"d3-array\";\nimport continuous, { copy, identity } from \"./continuous\";\nimport { initRange } from \"./init\";\nimport tickFormat from \"./tickFormat\";\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function (count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function (count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function (count) {\n if (count == null) count = 10;\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\nexport default function linear() {\n var scale = continuous(identity, identity);\n\n scale.copy = function () {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n return linearish(scale);\n}","import { map } from \"./array\";\nimport { linearish } from \"./linear\";\nimport number from \"./number\";\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function (_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? map.call(domain, number) : [0, 1];\n return linearish(scale);\n}","export default function (domain, interval) {\n domain = domain.slice();\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}","import { ticks } from \"d3-array\";\nimport { format } from \"d3-format\";\nimport nice from \"./nice\";\nimport { copy, transformer } from \"./continuous\";\nimport { initRange } from \"./init\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10 : base === Math.E ? Math.exp : function (x) {\n return Math.pow(base, x);\n };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), function (x) {\n return Math.log(x) / base;\n });\n}\n\nfunction reflect(f) {\n return function (x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n\n return scale;\n }\n\n scale.base = function (_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function (_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function (count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n if (r = v < u) i = u, u = v, v = i;\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i < j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function (count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n\n return function (d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function () {\n return domain(nice(domain(), {\n floor: function floor(x) {\n return pows(Math.floor(logs(x)));\n },\n ceil: function ceil(x) {\n return pows(Math.ceil(logs(x)));\n }\n }));\n };\n\n return scale;\n}\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function () {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n return scale;\n}","import { linearish } from \"./linear\";\nimport { copy, transformer } from \"./continuous\";\nimport { initRange } from \"./init\";\n\nfunction transformSymlog(c) {\n return function (x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function (x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1,\n scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function (_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function () {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}","import { linearish } from \"./linear\";\nimport { copy, identity, transformer } from \"./continuous\";\nimport { initRange } from \"./init\";\n\nfunction transformPow(exponent) {\n return function (x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function (_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function () {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n return scale;\n}\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}","import { ascending, bisect, quantile as threshold } from \"d3-array\";\nimport { slice } from \"./array\";\nimport { initRange } from \"./init\";\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0,\n n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n\n while (++i < n) {\n thresholds[i - 1] = threshold(domain, i / n);\n }\n\n return scale;\n }\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [i > 0 ? thresholds[i - 1] : domain[0], i < thresholds.length ? thresholds[i] : domain[domain.length - 1]];\n };\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n\n for (var i = 0, n = _.length, d; i < n; ++i) {\n if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n }\n\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function () {\n return thresholds.slice();\n };\n\n scale.copy = function () {\n return quantile().domain(domain).range(range).unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}","import { bisect } from \"d3-array\";\nimport { slice } from \"./array\";\nimport { linearish } from \"./linear\";\nimport { initRange } from \"./init\";\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n\n while (++i < n) {\n domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n }\n\n return scale;\n }\n\n scale.domain = function (_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function (_) {\n return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : i < 1 ? [x0, domain[0]] : i >= n ? [domain[n - 1], x1] : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function () {\n return domain.slice();\n };\n\n scale.copy = function () {\n return quantize().domain([x0, x1]).range(range).unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}","import { bisect } from \"d3-array\";\nimport { slice } from \"./array\";\nimport { initRange } from \"./init\";\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function (_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return threshold().domain(domain).range(range).unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}","var t0 = new Date(),\n t1 = new Date();\nexport default function newInterval(floori, offseti, count, field) {\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date() : new Date(+date)), date;\n }\n\n interval.floor = function (date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function (date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function (date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function (date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function (start, stop, step) {\n var range = [],\n previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n\n do {\n range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n } while (previous < start && start < stop);\n\n return range;\n };\n\n interval.filter = function (test) {\n return newInterval(function (date) {\n if (date >= date) while (floori(date), !test(date)) {\n date.setTime(date - 1);\n }\n }, function (date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n\n }\n }\n });\n };\n\n if (count) {\n interval.count = function (start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function (step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? function (d) {\n return field(d) % step === 0;\n } : function (d) {\n return interval.count(0, d) % step === 0;\n });\n };\n }\n\n return interval;\n}","import interval from \"./interval.js\";\nvar year = interval(function (date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function (start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function (date) {\n return date.getFullYear();\n}); // An optimized implementation for this simple case.\n\nyear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function (date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;","import interval from \"./interval.js\";\nvar month = interval(function (date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setMonth(date.getMonth() + step);\n}, function (start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function (date) {\n return date.getMonth();\n});\nexport default month;\nexport var months = month.range;","import interval from \"./interval.js\";\nimport { durationMinute, durationWeek } from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function (date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function (start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;","import interval from \"./interval.js\";\nimport { durationDay, durationMinute } from \"./duration.js\";\nvar day = interval(function (date) {\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setDate(date.getDate() + step);\n}, function (start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function (date) {\n return date.getDate() - 1;\n});\nexport default day;\nexport var days = day.range;","import interval from \"./interval.js\";\nimport { durationHour, durationMinute, durationSecond } from \"./duration.js\";\nvar hour = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function (date, step) {\n date.setTime(+date + step * durationHour);\n}, function (start, end) {\n return (end - start) / durationHour;\n}, function (date) {\n return date.getHours();\n});\nexport default hour;\nexport var hours = hour.range;","import interval from \"./interval.js\";\nimport { durationMinute, durationSecond } from \"./duration.js\";\nvar minute = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function (date, step) {\n date.setTime(+date + step * durationMinute);\n}, function (start, end) {\n return (end - start) / durationMinute;\n}, function (date) {\n return date.getMinutes();\n});\nexport default minute;\nexport var minutes = minute.range;","import interval from \"./interval.js\";\nimport { durationSecond } from \"./duration.js\";\nvar second = interval(function (date) {\n date.setTime(date - date.getMilliseconds());\n}, function (date, step) {\n date.setTime(+date + step * durationSecond);\n}, function (start, end) {\n return (end - start) / durationSecond;\n}, function (date) {\n return date.getUTCSeconds();\n});\nexport default second;\nexport var seconds = second.range;","import interval from \"./interval.js\";\nvar millisecond = interval(function () {// noop\n}, function (date, step) {\n date.setTime(+date + step);\n}, function (start, end) {\n return end - start;\n}); // An optimized implementation for this simple case.\n\nmillisecond.every = function (k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function (date) {\n date.setTime(Math.floor(date / k) * k);\n }, function (date, step) {\n date.setTime(+date + step * k);\n }, function (start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;","import interval from \"./interval.js\";\nimport { durationWeek } from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function (date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function (start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;","import interval from \"./interval.js\";\nimport { durationDay } from \"./duration.js\";\nvar utcDay = interval(function (date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function (start, end) {\n return (end - start) / durationDay;\n}, function (date) {\n return date.getUTCDate() - 1;\n});\nexport default utcDay;\nexport var utcDays = utcDay.range;","import interval from \"./interval.js\";\nvar utcYear = interval(function (date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function (start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function (date) {\n return date.getUTCFullYear();\n}); // An optimized implementation for this simple case.\n\nutcYear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function (date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;","import { timeDay, timeSunday, timeMonday, timeThursday, timeYear, utcDay, utcSunday, utcMonday, utcThursday, utcYear } from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {\n y: y,\n m: m,\n d: d,\n H: 0,\n M: 0,\n S: 0,\n L: 0\n };\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n }; // These recursive directive definitions must be deferred.\n\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function (date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function (string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week,\n day;\n if (i != string.length) return null; // If a UNIX timestamp is specified, return it.\n\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0)); // If this is utcParse, never use the local timezone.\n\n if (Z && !(\"Z\" in d)) d.Z = 0; // The am-pm flag is 0 for AM, and 1 for PM.\n\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12; // If the month was not specified, inherit from the quarter.\n\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0; // Convert day-of-week and week-of-year to day-of-year.\n\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n } // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n\n\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n } // Otherwise, all fields are in local time.\n\n\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || (j = parse(d, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function format(specifier) {\n var f = newFormat(specifier += \"\", formats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n parse: function parse(specifier) {\n var p = newParse(specifier += \"\", false);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n },\n utcFormat: function utcFormat(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n utcParse: function utcParse(specifier) {\n var p = newParse(specifier += \"\", true);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n }\n };\n}\nvar pads = {\n \"-\": \"\",\n \"_\": \" \",\n \"0\": \"0\"\n},\n numberRe = /^\\s*\\d+/,\n // note: ignores next directive\npercentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {},\n i = -1,\n n = names.length;\n\n while (++i < n) {\n map[names[i].toLowerCase()] = i;\n }\n\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}","import { bisector, tickStep } from \"d3-array\";\nimport { timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond } from \"d3-time\";\nimport { timeFormat } from \"d3-time-format\";\nimport { map } from \"./array\";\nimport continuous, { copy, identity } from \"./continuous\";\nimport { initRange } from \"./init\";\nimport nice from \"./nice\";\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(identity, identity),\n invert = scale.invert,\n domain = scale.domain;\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n var tickIntervals = [[second, 1, durationSecond], [second, 5, 5 * durationSecond], [second, 15, 15 * durationSecond], [second, 30, 30 * durationSecond], [minute, 1, durationMinute], [minute, 5, 5 * durationMinute], [minute, 15, 15 * durationMinute], [minute, 30, 30 * durationMinute], [hour, 1, durationHour], [hour, 3, 3 * durationHour], [hour, 6, 6 * durationHour], [hour, 12, 12 * durationHour], [day, 1, durationDay], [day, 2, 2 * durationDay], [week, 1, durationWeek], [month, 1, durationMonth], [month, 3, 3 * durationMonth], [year, 1, durationYear]];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond : minute(date) < date ? formatSecond : hour(date) < date ? formatMinute : day(date) < date ? formatHour : month(date) < date ? week(date) < date ? formatDay : formatWeek : year(date) < date ? formatMonth : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10; // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function (i) {\n return i[2];\n }).right(tickIntervals, target);\n\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function (y) {\n return new Date(invert(y));\n };\n\n scale.domain = function (_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function (interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function (count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function (interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function () {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\nexport default function () {\n return initRange.apply(calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}","import interval from \"./interval.js\";\nvar utcMonth = interval(function (date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function (start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function (date) {\n return date.getUTCMonth();\n});\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;","import interval from \"./interval.js\";\nimport { durationHour } from \"./duration.js\";\nvar utcHour = interval(function (date) {\n date.setUTCMinutes(0, 0, 0);\n}, function (date, step) {\n date.setTime(+date + step * durationHour);\n}, function (start, end) {\n return (end - start) / durationHour;\n}, function (date) {\n return date.getUTCHours();\n});\nexport default utcHour;\nexport var utcHours = utcHour.range;","import interval from \"./interval.js\";\nimport { durationMinute } from \"./duration.js\";\nvar utcMinute = interval(function (date) {\n date.setUTCSeconds(0, 0);\n}, function (date, step) {\n date.setTime(+date + step * durationMinute);\n}, function (start, end) {\n return (end - start) / durationMinute;\n}, function (date) {\n return date.getUTCMinutes();\n});\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;","import { calendar } from \"./time\";\nimport { utcFormat } from \"d3-time-format\";\nimport { utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond } from \"d3-time\";\nimport { initRange } from \"./init\";\nexport default function () {\n return initRange.apply(calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}","import { identity } from \"./continuous\";\nimport { initInterpolator } from \"./init\";\nimport { linearish } from \"./linear\";\nimport { loggish } from \"./log\";\nimport { symlogish } from \"./symlog\";\nimport { powish } from \"./pow\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function (_) {\n return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());\n}\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function () {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function () {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}","import { ascending, bisect } from \"d3-array\";\nimport { identity } from \"./continuous\";\nimport { initInterpolator } from \"./init\";\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (!isNaN(x = +x)) return interpolator((bisect(domain, x) - 1) / (domain.length - 1));\n }\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n\n for (var i = 0, n = _.length, d; i < n; ++i) {\n if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n }\n\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function () {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}","import { identity } from \"./continuous\";\nimport { initInterpolator } from \"./init\";\nimport { linearish } from \"./linear\";\nimport { loggish } from \"./log\";\nimport { copy } from \"./sequential\";\nimport { symlogish } from \"./symlog\";\nimport { powish } from \"./pow\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (x < t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function (_) {\n return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), t2 = transform(x2 = +_[2]), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), scale) : [x0, x1, x2];\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1);\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function () {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function () {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function () {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function () {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}","export default function (series, order) {\n if (!((n = series.length) > 1)) return;\n\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}","export var slice = Array.prototype.slice;","export default function (series) {\n var n = series.length,\n o = new Array(n);\n\n while (--n >= 0) {\n o[n] = n;\n }\n\n return o;\n}","import { slice } from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function () {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function (_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function (_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function (_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function (_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n/**\n * @fileOverview Layer\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\n\nfunction Layer(props) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, [\"children\", \"className\"]);\n\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, others), children);\n}\n\nexport default Layer;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Render a group of error bar\n*/\n\n\nimport React, { Component } from 'react';\nimport Layer from '../container/Layer';\nimport { getPresentationAttributes } from '../util/ReactUtils';\n\nvar ErrorBar = /*#__PURE__*/function (_Component) {\n _inherits(ErrorBar, _Component);\n\n function ErrorBar() {\n _classCallCheck(this, ErrorBar);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ErrorBar).apply(this, arguments));\n }\n\n _createClass(ErrorBar, [{\n key: \"renderErrorBars\",\n value: function renderErrorBars() {\n var _this$props = this.props,\n offset = _this$props.offset,\n layout = _this$props.layout,\n width = _this$props.width,\n dataKey = _this$props.dataKey,\n data = _this$props.data,\n dataPointFormatter = _this$props.dataPointFormatter,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n others = _objectWithoutProperties(_this$props, [\"offset\", \"layout\", \"width\", \"dataKey\", \"data\", \"dataPointFormatter\", \"xAxis\", \"yAxis\"]);\n\n var props = getPresentationAttributes(others);\n return data.map(function (entry, i) {\n var _dataPointFormatter = dataPointFormatter(entry, dataKey),\n x = _dataPointFormatter.x,\n y = _dataPointFormatter.y,\n value = _dataPointFormatter.value,\n errorVal = _dataPointFormatter.errorVal;\n\n if (!errorVal) {\n return null;\n }\n\n var xMid, yMid, xMin, yMin, xMax, yMax, scale, coordsTop, coordsMid, coordsBot, lowBound, highBound;\n\n if (Array.isArray(errorVal)) {\n var _errorVal = _slicedToArray(errorVal, 2);\n\n lowBound = _errorVal[0];\n highBound = _errorVal[1];\n } else {\n lowBound = highBound = errorVal;\n }\n\n if (layout === 'vertical') {\n scale = xAxis.scale;\n xMid = value;\n yMid = y + offset;\n xMin = scale(xMid - lowBound);\n yMin = yMid + width;\n xMax = scale(xMid + highBound);\n yMax = yMid - width;\n coordsTop = {\n x1: xMax,\n y1: yMin,\n x2: xMax,\n y2: yMax\n };\n coordsMid = {\n x1: xMin,\n y1: yMid,\n x2: xMax,\n y2: yMid\n };\n coordsBot = {\n x1: xMin,\n y1: yMin,\n x2: xMin,\n y2: yMax\n };\n } else if (layout === 'horizontal') {\n scale = yAxis.scale;\n xMid = x + offset;\n yMid = value;\n xMin = xMid - width;\n xMax = xMid + width;\n yMin = scale(yMid - lowBound);\n yMax = scale(yMid + highBound);\n coordsTop = {\n x1: xMin,\n y1: yMax,\n x2: xMax,\n y2: yMax\n };\n coordsMid = {\n x1: xMid,\n y1: yMin,\n x2: xMid,\n y2: yMax\n };\n coordsBot = {\n x1: xMin,\n y1: yMin,\n x2: xMax,\n y2: yMin\n };\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, _extends({\n className: \"recharts-errorBar\",\n key: \"bar-\".concat(i)\n }, props), /*#__PURE__*/React.createElement(\"line\", coordsTop), /*#__PURE__*/React.createElement(\"line\", coordsMid), /*#__PURE__*/React.createElement(\"line\", coordsBot))\n );\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-errorBars\"\n }, this.renderErrorBars());\n }\n }]);\n\n return ErrorBar;\n}(Component);\n\nErrorBar.defaultProps = {\n stroke: 'black',\n strokeWidth: 1.5,\n width: 5,\n offset: 0,\n layout: 'horizontal'\n};\nexport default ErrorBar;","import _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isString from \"lodash/isString\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport * as d3Scales from 'd3-scale';\nimport { stack as shapeStack, stackOrderNone, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nimport { isNumOrStr, uniqueId, isNumber, getPercentValue, mathSign, findEntryInArray } from './DataUtils';\nimport ErrorBar from '../cartesian/ErrorBar';\nimport Legend from '../component/Legend';\nimport { findAllByType, findChildByType, getDisplayName } from './ReactUtils';\nexport var getValueByDataKey = function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n\n return defaultValue;\n};\n/**\n * Get domain of data by key\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\n\nexport var getDomainOfDataByKey = function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n\n if (type === 'number') {\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry, 10);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData;\n return validateData.map(function (entry) {\n return isNumOrStr(entry) ? entry : '';\n });\n};\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate, ticks, unsortedTicks, axis) {\n var index = -1;\n var len = ticks.length;\n\n if (len > 1) {\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range; // ticks are distributed in a circle\n\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n } else {\n index = 0;\n }\n\n return index;\n};\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\n\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var displayName = item.type.displayName;\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n\n default:\n result = fill;\n break;\n }\n\n return result;\n};\nexport var getLegendProps = function getLegendProps(_ref) {\n var children = _ref.children,\n formatedGraphicalItems = _ref.formatedGraphicalItems,\n legendWidth = _ref.legendWidth,\n legendContent = _ref.legendContent;\n var legendItem = findChildByType(children, Legend);\n\n if (!legendItem) {\n return null;\n }\n\n var legendData;\n\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formatedGraphicalItems || []).reduce(function (result, _ref2) {\n var item = _ref2.item,\n props = _ref2.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formatedGraphicalItems || []).map(function (_ref3) {\n var item = _ref3.item;\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n name = _item$props2.name,\n legendType = _item$props2.legendType,\n hide = _item$props2.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n payload: item.props\n };\n });\n }\n\n return _objectSpread({}, legendItem.props, {}, Legend.getWithHeight(legendItem, legendWidth), {\n payload: legendData,\n item: legendItem\n });\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\n\nexport var getBarSizeList = function getBarSizeList(_ref4) {\n var globalSize = _ref4.barSize,\n _ref4$stackGroups = _ref4.stackGroups,\n stackGroups = _ref4$stackGroups === void 0 ? {} : _ref4$stackGroups;\n\n if (!stackGroups) {\n return {};\n }\n\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n\n if (!result[cateId]) {\n result[cateId] = [];\n }\n\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n\n return result;\n};\n/**\n * Calculate the size of each bar and the gap between two bars\n * @param {Number} bandSize The size of each category\n * @param {sizeList} sizeList The size of all groups\n * @param {maxBarSize} maxBarSize The maximum size of bar\n * @return {Number} The size of each bar and the gap between two bars\n */\n\nexport var getBarPosition = function getBarPosition(_ref5) {\n var barGap = _ref5.barGap,\n barCategoryGap = _ref5.barCategoryGap,\n bandSize = _ref5.bandSize,\n _ref5$sizeList = _ref5.sizeList,\n sizeList = _ref5$sizeList === void 0 ? [] : _ref5$sizeList,\n maxBarSize = _ref5.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result; // whether or not is barSize setted by user\n\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : entry.barSize\n }\n }]);\n prev = newRes[newRes.length - 1].position;\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n\n return newRes;\n }, []);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n\n return newRes;\n }, []);\n }\n\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, items, props, legendBox) {\n var children = props.children,\n width = props.width,\n height = props.height,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n var legendProps = getLegendProps({\n children: children,\n items: items,\n legendWidth: legendWidth,\n legendHeight: legendHeight\n });\n var newOffset = offset;\n\n if (legendProps) {\n var box = legendBox || {};\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'center') && isNumber(offset[align])) {\n newOffset = _objectSpread({}, offset, _defineProperty({}, align, newOffset[align] + (box.width || 0)));\n }\n\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && isNumber(offset[verticalAlign])) {\n newOffset = _objectSpread({}, offset, _defineProperty({}, verticalAlign, newOffset[verticalAlign] + (box.height || 0)));\n }\n }\n\n return newOffset;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, ErrorBar).filter(function (errorBarChild) {\n var direction = errorBarChild.props.direction;\n return _isNil(direction) || _isNil(axisType) ? true : axisType.indexOf(direction) >= 0;\n });\n\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\n\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n var tag = {}; // Get the union set of category axis\n\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n if (!tag[entry[i]]) {\n tag[entry[i]] = true;\n result.push(entry[i]);\n }\n }\n\n return result;\n }, []);\n};\nexport var isCategorialAxis = function isCategorialAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @return {Array} Coordinates\n */\n\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max) {\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n\n if (entry.coordinate === max) {\n hasMax = true;\n }\n\n return entry.coordinate;\n });\n\n if (!hasMin) {\n values.push(min);\n }\n\n if (!hasMax) {\n values.push(max);\n }\n\n return values;\n};\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\n\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / 2 : 0;\n offset = axis.axisType === 'angleAxis' ? mathSign(range[0] - range[1]) * 2 * offset : offset; // The ticks setted by user should only affect the ticks adjacent to axis line\n\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n return (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n }\n\n if (axis.isCategorial && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry),\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis has duplicated text, serial numbers are used to generate scale\n\n\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n\n return null;\n};\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @return {Function} The scale funcion\n */\n\nexport var parseScale = function parseScale(axis, chartType) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (_isString(scale)) {\n var name = \"scale\".concat(scale.slice(0, 1).toUpperCase()).concat(scale.slice(1));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n\n if (!domain || domain.length <= 2) {\n return;\n }\n\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n\n return null;\n};\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n\n if (result[0] > max) {\n result[0] = max;\n }\n\n if (result[1] < min) {\n result[1] = min;\n }\n\n return result;\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n expand: stackOffsetExpand,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var stack = shapeStack().keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone).offset(STACK_OFFSET_MAP[offsetType]);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n } // reversing items to affect render order (for layering)\n\n\n var items = reverseStackOrder ? _items.reverse() : _items;\n var stackGroups = items.reduce(function (result, item) {\n var _item$props3 = item.props,\n stackId = _item$props3.stackId,\n hide = _item$props3.hide;\n\n if (hide) {\n return result;\n }\n\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n\n return _objectSpread({}, result, _defineProperty({}, axisId, parentGroup));\n }, {});\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n\n if (group.hasStack) {\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread({}, res, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, {});\n }\n\n return _objectSpread({}, result, _defineProperty({}, axisId, group));\n }, {});\n};\n/**\n * get domain of ticks\n * @param {Array} ticks Ticks of axis\n * @param {String} type The type of axis\n * @return {Array} domain\n */\n\nexport var calculateDomainOfTicks = function calculateDomainOfTicks(ticks, type) {\n if (type === 'number') {\n return [_min(ticks), _max(ticks)];\n }\n\n return ticks;\n};\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\n\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain(calculateDomainOfTicks(tickValues, type));\n return {\n niceTicks: tickValues\n };\n }\n\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n\n return {\n niceTicks: _tickValues\n };\n }\n\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref6) {\n var axis = _ref6.axis,\n ticks = _ref6.ticks,\n bandSize = _ref6.bandSize,\n entry = _ref6.entry,\n index = _ref6.index,\n dataKey = _ref6.dataKey;\n\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref7) {\n var axis = _ref7.axis,\n ticks = _ref7.ticks,\n offset = _ref7.offset,\n bandSize = _ref7.bandSize,\n entry = _ref7.entry,\n index = _ref7.index;\n\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref8) {\n var numericAxis = _ref8.numericAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n\n if (min <= 0 && max >= 0) {\n return 0;\n }\n\n if (max < 0) {\n return max;\n }\n\n return min;\n }\n\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n\n if (group && group.items.length) {\n var itemIndex = -1;\n\n for (var i = 0, len = group.items.length; i < len; i++) {\n if (group.items[i] === item) {\n itemIndex = i;\n break;\n }\n }\n\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n\n return null;\n};\n\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\n\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n\n var domain = [];\n /* eslint-disable prefer-destructuring */\n\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n\n return domain;\n};\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @return {Number} Size\n */\n\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks) {\n if (axis && axis.scale && axis.scale.bandwidth) {\n return axis.scale.bandwidth();\n }\n\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n\n var bandSize = Infinity;\n\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n\n return bandSize === Infinity ? 0 : bandSize;\n }\n\n return 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis element\n * @returns {Array} domains\n */\n\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n\n return specifiedDomain;\n};","import none from \"./none.js\";\nexport default function (series, order) {\n if (!((n = series.length) > 0)) return;\n\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) {\n y += series[i][j][1] || 0;\n }\n\n if (y) for (i = 0; i < n; ++i) {\n series[i][j][1] /= y;\n }\n }\n\n none(series, order);\n}","import none from \"./none.js\";\nexport default function (series, order) {\n if (!((n = series.length) > 0)) return;\n\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) {\n y += series[i][j][1] || 0;\n }\n\n s0[j][1] += s0[j][0] = -y / 2;\n }\n\n none(series, order);\n}","import none from \"./none.js\";\nexport default function (series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n\n s1 += sij0, s2 += s3 * sij0;\n }\n\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}","import _isNil from \"lodash/isNil\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n\n var _range2 = _slicedToArray(_range, 2);\n\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread({}, axis, {\n realScaleType: realScaleType\n }));\n\n var finalAxis = _objectSpread({}, axis, {}, ticks, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return _objectSpread({}, result, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\n\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\n\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n\n if (radius === 0) {\n return true;\n }\n\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n\n var formatAngle = angle;\n var inRange;\n\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n\n if (inRange) {\n return _objectSpread({}, sector, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n\n return null;\n};","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Sector\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\n\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle); // The coordinate of point which is tangent to the circle\n\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle); // The coordinate of point which is tangent to the radius line\n\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\n\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle); // When the angle of sector equals to 360, star point and end point coincide\n\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n\n return path;\n};\n\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n\n var outerArcAngle = Math.abs(startAngle - endAngle) - sot - eot;\n\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n\n var innerArcAngle = Math.abs(startAngle - endAngle) - sit - eit;\n\n if (innerArcAngle < 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n\n return path;\n};\n\nvar Sector = /*#__PURE__*/function (_PureComponent) {\n _inherits(Sector, _PureComponent);\n\n function Sector() {\n _classCallCheck(this, Sector);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Sector).apply(this, arguments));\n }\n\n _createClass(Sector, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n innerRadius = _this$props.innerRadius,\n outerRadius = _this$props.outerRadius,\n cornerRadius = _this$props.cornerRadius,\n forceCornerRadius = _this$props.forceCornerRadius,\n cornerIsExternal = _this$props.cornerIsExternal,\n startAngle = _this$props.startAngle,\n endAngle = _this$props.endAngle,\n className = _this$props.className;\n\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n\n var layerClass = classNames('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props), {\n className: layerClass,\n d: path\n }));\n }\n }]);\n\n return Sector;\n}(PureComponent);\n\nSector.displayName = 'Sector';\nSector.defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};\nexport default Sector;","export default function () {}","function _point(that, x, y) {\n that._context.bezierCurveTo((2 * that._x0 + that._x1) / 3, (2 * that._y0 + that._y1) / 3, (that._x0 + 2 * that._x1) / 3, (that._y0 + 2 * that._y1) / 3, (that._x0 + 4 * that._x1 + x) / 6, (that._y0 + 4 * that._y1 + y) / 6);\n}\n\nexport { _point as point };\nexport function Basis(context) {\n this._context = context;\n}\nBasis.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n switch (this._point) {\n case 3:\n _point(this, this._x1, this._y1);\n\n // proceed\n\n case 2:\n this._context.lineTo(this._x1, this._y1);\n\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n\n this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);\n\n // proceed\n\n default:\n _point(this, x, y);\n\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nexport default function (context) {\n return new Basis(context);\n}","import noop from \"../noop.js\";\nimport { point as _point } from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function lineStart() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n switch (this._point) {\n case 1:\n {\n this._context.moveTo(this._x2, this._y2);\n\n this._context.closePath();\n\n break;\n }\n\n case 2:\n {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n\n this._context.closePath();\n\n break;\n }\n\n case 3:\n {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x2 = x, this._y2 = y;\n break;\n\n case 1:\n this._point = 2;\n this._x3 = x, this._y3 = y;\n break;\n\n case 2:\n this._point = 3;\n this._x4 = x, this._y4 = y;\n\n this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6);\n\n break;\n\n default:\n _point(this, x, y);\n\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nexport default function (context) {\n return new BasisClosed(context);\n}","import { point as _point } from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n var x0 = (this._x0 + 4 * this._x1 + x) / 6,\n y0 = (this._y0 + 4 * this._y1 + y) / 6;\n this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);\n break;\n\n case 3:\n this._point = 4;\n // proceed\n\n default:\n _point(this, x, y);\n\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nexport default function (context) {\n return new BasisOpen(context);\n}","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function lineStart() {\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._point) this._context.closePath();\n },\n point: function point(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);else this._point = 1, this._context.moveTo(x, y);\n }\n};\nexport default function (context) {\n return new LinearClosed(context);\n}","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n // proceed\n\n default:\n this._context.lineTo(x, y);\n\n break;\n }\n }\n};\nexport default function (context) {\n return new Linear(context);\n}","function sign(x) {\n return x < 0 ? -1 : 1;\n} // Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\n\n\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n} // Calculate a one-sided slope.\n\n\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n} // According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\n\n\nfunction _point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x1, this._y1);\n\n break;\n\n case 3:\n _point(this, this._t0, slope2(this, this._t0));\n\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function point(x, y) {\n var t1 = NaN;\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n\n _point(this, slope2(this, t1 = slope3(this, x, y)), t1);\n\n break;\n\n default:\n _point(this, this._t0, t1 = slope3(this, x, y));\n\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n};\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function (x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function moveTo(x, y) {\n this._context.moveTo(y, x);\n },\n closePath: function closePath() {\n this._context.closePath();\n },\n lineTo: function lineTo(x, y) {\n this._context.lineTo(y, x);\n },\n bezierCurveTo: function bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._context.bezierCurveTo(y1, x1, y2, x2, y, x);\n }\n};\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function lineEnd() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || this._line !== 0 && n === 1) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function point(x, y) {\n this._x.push(+x);\n\n this._y.push(+y);\n }\n}; // See https://www.particleincell.com/2012/bezier-splines/ for derivation.\n\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n\n for (i = 1; i < n - 1; ++i) {\n a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n }\n\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n\n for (i = 1; i < n; ++i) {\n m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n }\n\n a[n - 1] = r[n - 1] / b[n - 1];\n\n for (i = n - 2; i >= 0; --i) {\n a[i] = (r[i] - a[i + 1]) / b[i];\n }\n\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n\n for (i = 0; i < n - 1; ++i) {\n b[i] = 2 * x[i + 1] - a[i + 1];\n }\n\n return [a, b];\n}\n\nexport default function (context) {\n return new Natural(context);\n}","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n // proceed\n\n default:\n {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n\n this._context.lineTo(x1, this._y);\n\n this._context.lineTo(x1, y);\n }\n\n break;\n }\n }\n\n this._x = x, this._y = y;\n }\n};\nexport default function (context) {\n return new Step(context, 0.5);\n}\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\nexport function stepAfter(context) {\n return new Step(context, 1);\n}","export function x(p) {\n return p[0];\n}\nexport function y(p) {\n return p[1];\n}","import { path } from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport { x as pointX, y as pointY } from \"./point.js\";\nexport default function () {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();else output.lineEnd();\n }\n\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function (_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function (_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}","import { path } from \"d3-path\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport { x as pointX, y as pointY } from \"./point.js\";\nexport default function () {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = data.length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n\n output.lineEnd();\n output.areaEnd();\n }\n }\n\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function (_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function (_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 = area.lineY0 = function () {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function () {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function () {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isArray from \"lodash/isArray\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Curve\n */\n\n\nimport React, { PureComponent } from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'd3-shape';\nimport classNames from 'classnames';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\n\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\n\nvar getX = function getX(p) {\n return p.x;\n};\n\nvar getY = function getY(p) {\n return p.y;\n};\n\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (_isFunction(type)) {\n return type;\n }\n\n var name = \"curve\".concat(type.slice(0, 1).toUpperCase()).concat(type.slice(1));\n\n if (name === 'curveMonotone' && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n\n return CURVE_FACTORIES[name] || curveLinear;\n};\n\nvar Curve = /*#__PURE__*/function (_PureComponent) {\n _inherits(Curve, _PureComponent);\n\n function Curve() {\n _classCallCheck(this, Curve);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Curve).apply(this, arguments));\n }\n\n _createClass(Curve, [{\n key: \"getPath\",\n\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n value: function getPath() {\n var _this$props = this.props,\n type = _this$props.type,\n points = _this$props.points,\n baseLine = _this$props.baseLine,\n layout = _this$props.layout,\n connectNulls = _this$props.connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n\n if (_isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread({}, entry, {\n base: formatBaseLine[index]\n });\n });\n\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n points = _this$props2.points,\n path = _this$props2.path,\n pathRef = _this$props2.pathRef;\n\n if ((!points || !points.length) && !path) {\n return null;\n }\n\n var realPath = points && points.length ? this.getPath() : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props, null, true), {\n className: classNames('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n }\n }]);\n\n return Curve;\n}(PureComponent);\n\nCurve.displayName = 'Curve';\nCurve.defaultProps = {\n type: 'linear',\n points: [],\n connectNulls: false\n};\nexport default Curve;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nimport { isSsr } from './ReactUtils';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\n\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n\n return value;\n}\n\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\n\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (text === undefined || text === null || isSsr()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n document.body.appendChild(measurementSpan);\n } // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n\n\n var measurementSpanStyle = _objectSpread({}, SPAN_STYLE, {}, style);\n\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n }; // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\n\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isNil from \"lodash/isNil\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { getPresentationAttributes, isSsr, filterEventAttributes } from '../util/ReactUtils';\nimport { getStringSize } from '../util/DOMUtils';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n\nvar calculateWordWidths = function calculateWordWidths(props) {\n try {\n var words = !_isNil(props.children) ? props.children.toString().split(BREAKING_SPACES) : [];\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, props.style).width\n };\n });\n var spaceWidth = getStringSize(\"\\xA0\", props.style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\n\nvar Text = /*#__PURE__*/function (_Component) {\n _inherits(Text, _Component);\n\n function Text(_props) {\n var _this;\n\n _classCallCheck(this, Text);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Text).call(this, _props));\n\n _this.getWordsWithoutCalculate = function (props) {\n var words = !_isNil(props.children) ? props.children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n };\n\n _this.state = {\n wordsByLines: _this.getWordsByLines(_props, true)\n };\n return _this;\n }\n\n _createClass(Text, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateWordsByLines(this.props, true);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.width !== this.props.width || prevProps.scaleToFit !== this.props.scaleToFit || prevProps.children !== this.props.children || prevProps.style !== this.props.style) {\n var needCalculate = this.props.children !== prevProps.children || this.props.style !== prevProps.style;\n this.updateWordsByLines(this.props, needCalculate);\n }\n }\n }, {\n key: \"updateWordsByLines\",\n value: function updateWordsByLines(props, needCalculate) {\n this.setState({\n wordsByLines: this.getWordsByLines(props, needCalculate)\n });\n }\n }, {\n key: \"getWordsByLines\",\n value: function getWordsByLines(props, needCalculate) {\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((props.width || props.scaleToFit) && !isSsr()) {\n if (needCalculate) {\n var wordWidths = calculateWordWidths(props);\n\n if (wordWidths) {\n var wordsWithComputedWidth = wordWidths.wordsWithComputedWidth,\n spaceWidth = wordWidths.spaceWidth;\n this.wordsWithComputedWidth = wordsWithComputedWidth;\n this.spaceWidth = spaceWidth;\n } else {\n return this.getWordsWithoutCalculate(props);\n }\n }\n\n return this.calculateWordsByLines(this.wordsWithComputedWidth, this.spaceWidth, props.width);\n }\n\n return this.getWordsWithoutCalculate(props);\n }\n }, {\n key: \"calculateWordsByLines\",\n value: function calculateWordsByLines(wordsWithComputedWidth, spaceWidth, lineWidth) {\n var scaleToFit = this.props.scaleToFit;\n return (wordsWithComputedWidth || []).reduce(function (result, _ref) {\n var word = _ref.word,\n width = _ref.width;\n var currentLine = result[result.length - 1];\n\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < lineWidth)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n\n return result;\n }, []);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dx = _this$props.dx,\n dy = _this$props.dy,\n textAnchor = _this$props.textAnchor,\n verticalAnchor = _this$props.verticalAnchor,\n scaleToFit = _this$props.scaleToFit,\n angle = _this$props.angle,\n lineHeight = _this$props.lineHeight,\n capHeight = _this$props.capHeight,\n className = _this$props.className,\n textProps = _objectWithoutProperties(_this$props, [\"dx\", \"dy\", \"textAnchor\", \"verticalAnchor\", \"scaleToFit\", \"angle\", \"lineHeight\", \"capHeight\", \"className\"]);\n\n var wordsByLines = this.state.wordsByLines;\n\n if (!isNumOrStr(textProps.x) || !isNumOrStr(textProps.y)) {\n return null;\n }\n\n var x = textProps.x + (isNumber(dx) ? dx : 0);\n var y = textProps.y + (isNumber(dy) ? dy : 0);\n var startDy;\n\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n\n var transforms = [];\n\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n transforms.push(\"scale(\".concat(this.props.width / lineWidth, \")\"));\n }\n\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, getPresentationAttributes(textProps), filterEventAttributes(textProps), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(' '))\n );\n }));\n }\n }]);\n\n return Text;\n}(Component);\n\nText.defaultProps = {\n x: 0,\n y: 0,\n lineHeight: '1em',\n capHeight: '0.71em',\n // Magic number from d3\n scaleToFit: false,\n textAnchor: 'start',\n verticalAnchor: 'end' // Maintain compat with existing charts / default SVG behavior\n\n};\nexport default Text;","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport React, { cloneElement, isValidElement } from 'react';\nimport classNames from 'classnames';\nimport Text from './Text';\nimport { getPresentationAttributes, findAllByType, filterEventAttributes } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nvar defaultProps = {\n offset: 5\n};\n\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n\n return label;\n};\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var cx = viewBox.cx,\n cy = viewBox.cy,\n innerRadius = viewBox.innerRadius,\n outerRadius = viewBox.outerRadius,\n startAngle = viewBox.startAngle,\n endAngle = viewBox.endAngle,\n clockWise = viewBox.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\n\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var cx = viewBox.cx,\n cy = viewBox.cy,\n innerRadius = viewBox.innerRadius,\n outerRadius = viewBox.outerRadius,\n startAngle = viewBox.startAngle,\n endAngle = viewBox.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n var r = (innerRadius + outerRadius) / 2;\n\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sign = height >= 0 ? 1 : -1;\n\n if (position === 'top') {\n return {\n x: x + width / 2,\n y: y - sign * offset,\n textAnchor: 'middle',\n verticalAnchor: sign > 0 ? 'end' : 'start'\n };\n }\n\n if (position === 'bottom') {\n return {\n x: x + width / 2,\n y: y + height + sign * offset,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'left') {\n return {\n x: x - offset,\n y: y + height / 2,\n textAnchor: 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'right') {\n return {\n x: x + width + offset,\n y: y + height / 2,\n textAnchor: 'start',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'insideLeft') {\n return {\n x: x + offset,\n y: y + height / 2,\n textAnchor: 'start',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'insideRight') {\n return {\n x: x + width - offset,\n y: y + height / 2,\n textAnchor: 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'insideTop') {\n return {\n x: x + width / 2,\n y: y + sign * offset,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'insideBottom') {\n return {\n x: x + width / 2,\n y: y + height - sign * offset,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n if (position === 'insideTopLeft') {\n return {\n x: x + offset,\n y: y + sign * offset,\n textAnchor: 'start',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'insideTopRight') {\n return {\n x: x + width - offset,\n y: y + sign * offset,\n textAnchor: 'end',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'insideBottomLeft') {\n return {\n x: x + offset,\n y: y + height - sign * offset,\n textAnchor: 'start',\n verticalAnchor: 'end'\n };\n }\n\n if (position === 'insideBottomRight') {\n return {\n x: x + width - offset,\n y: y + height - sign * offset,\n textAnchor: 'end',\n verticalAnchor: 'end'\n };\n }\n\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return {\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n };\n }\n\n return {\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar isPolar = function isPolar(viewBox) {\n return isNumber(viewBox.cx);\n};\n\nfunction Label(props) {\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className;\n\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n\n var label;\n\n if (_isFunction(content)) {\n label = content(props);\n\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n\n var isPolarLabel = isPolar(viewBox);\n var attrs = getPresentationAttributes(props);\n var events = filterEventAttributes(props);\n\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, events), label);\n}\n\nLabel.displayName = 'Label';\nLabel.defaultProps = defaultProps;\n\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise;\n\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n\n if (props.viewBox) {\n return props.viewBox;\n }\n\n return {};\n};\n\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var ckeckPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && ckeckPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChilren = findAllByType(children, Label).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n key: \"label-\".concat(index)\n });\n });\n\n if (!ckeckPropsLabel) {\n return explicitChilren;\n }\n\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChilren));\n};\n\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;\nexport default Label;","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nimport _last from \"lodash/last\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport React, { cloneElement } from 'react';\nimport Label from './Label';\nimport Layer from '../container/Layer';\nimport { getPresentationAttributes, findAllByType } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nvar defaultProps = {\n valueAccessor: function valueAccessor(entry) {\n return _isArray(entry.value) ? _last(entry.value) : entry.value;\n }\n};\n\nfunction LabelList(props) {\n var data = props.data,\n valueAccessor = props.valueAccessor,\n dataKey = props.dataKey,\n clockWise = props.clockWise,\n id = props.id,\n others = _objectWithoutProperties(props, [\"data\", \"valueAccessor\", \"dataKey\", \"clockWise\", \"id\"]);\n\n if (!data || !data.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = _isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = _isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, getPresentationAttributes(entry), others, idProps, {\n index: index,\n value: value,\n viewBox: Label.parseViewBox(_isNil(clockWise) ? entry : _objectSpread({}, entry, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n\n }));\n }));\n}\n\nLabelList.displayName = 'LabelList';\n\nvar parseLabelList = function parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(label) || _isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, data) {\n var ckeckPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && ckeckPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var explicitChilren = findAllByType(children, LabelList).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n key: \"labelList-\".concat(index)\n });\n });\n\n if (!ckeckPropsLabel) {\n return explicitChilren;\n }\n\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChilren));\n};\n\nLabelList.renderCallByParent = renderCallByParent;\nLabelList.defaultProps = defaultProps;\nexport default LabelList;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\nimport _get from \"lodash/get\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Render sectors of a pie\n */\n\n\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport classNames from 'classnames';\nimport Layer from '../container/Layer';\nimport Sector from '../shape/Sector';\nimport Curve from '../shape/Curve';\nimport Text from '../component/Text';\nimport Label from '../component/Label';\nimport LabelList from '../component/LabelList';\nimport Cell from '../component/Cell';\nimport { getPresentationAttributes, findAllByType, filterEventsOfChild, isSsr } from '../util/ReactUtils';\nimport { polarToCartesian, getMaxRadius } from '../util/PolarUtils';\nimport { isNumber, getPercentValue, mathSign, interpolateNumber, uniqueId } from '../util/DataUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { warn } from '../util/LogUtils';\n\nvar Pie = /*#__PURE__*/function (_PureComponent) {\n _inherits(Pie, _PureComponent);\n\n function Pie() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Pie);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Pie)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n isAnimationFinished: false\n };\n _this.id = uniqueId('recharts-pie-');\n\n _this.cachePrevData = function (sectors) {\n _this.setState({\n prevSectors: sectors\n });\n };\n\n _this.handleAnimationEnd = function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n var onAnimationStart = _this.props.onAnimationStart;\n\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Pie, [{\n key: \"componentWillReceiveProps\",\n // eslint-disable-next-line camelcase\n value: function componentWillReceiveProps(nextProps) {\n var _this$props = this.props,\n animationId = _this$props.animationId,\n sectors = _this$props.sectors;\n\n if (nextProps.isAnimationActive !== this.props.isAnimationActive) {\n this.cachePrevData([]);\n } else if (nextProps.animationId !== animationId) {\n this.cachePrevData(sectors);\n }\n }\n }, {\n key: \"isActiveIndex\",\n value: function isActiveIndex(i) {\n var activeIndex = this.props.activeIndex;\n\n if (Array.isArray(activeIndex)) {\n return activeIndex.indexOf(i) !== -1;\n }\n\n return i === activeIndex;\n }\n }, {\n key: \"renderLabels\",\n value: function renderLabels(sectors) {\n var _this2 = this;\n\n var isAnimationActive = this.props.isAnimationActive;\n\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props2 = this.props,\n label = _this$props2.label,\n labelLine = _this$props2.labelLine,\n dataKey = _this$props2.dataKey,\n valueKey = _this$props2.valueKey;\n var pieProps = getPresentationAttributes(this.props);\n var customLabelProps = getPresentationAttributes(label);\n var customLabelLineProps = getPresentationAttributes(labelLine);\n var offsetRadius = label && label.offsetRadius || 20;\n var labels = sectors.map(function (entry, i) {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n\n var labelProps = _objectSpread({}, pieProps, {}, entry, {\n stroke: 'none'\n }, customLabelProps, {\n index: i,\n textAnchor: _this2.constructor.getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n\n var lineProps = _objectSpread({}, pieProps, {}, entry, {\n fill: 'none',\n stroke: entry.fill\n }, customLabelLineProps, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint],\n key: 'line'\n });\n\n var realDataKey = dataKey; // TODO: compatible to lower versions\n\n if (_isNil(dataKey) && _isNil(valueKey)) {\n realDataKey = 'value';\n } else if (_isNil(dataKey)) {\n realDataKey = valueKey;\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, {\n key: \"label-\".concat(i)\n }, labelLine && _this2.constructor.renderLabelLineItem(labelLine, lineProps), _this2.constructor.renderLabelItem(label, labelProps, getValueByDataKey(entry, realDataKey)))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n }, {\n key: \"renderSectorsStatically\",\n value: function renderSectorsStatically(sectors) {\n var _this3 = this;\n\n var _this$props3 = this.props,\n activeShape = _this$props3.activeShape,\n blendStroke = _this$props3.blendStroke;\n return sectors.map(function (entry, i) {\n var sectorOptions = _this3.isActiveIndex(i) ? activeShape : null;\n\n var sectorProps = _objectSpread({}, entry, {\n stroke: blendStroke ? entry.fill : entry.stroke\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-pie-sector\"\n }, filterEventsOfChild(_this3.props, entry, i), {\n key: \"sector-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }), _this3.constructor.renderSectorItem(sectorOptions, sectorProps));\n });\n }\n }, {\n key: \"renderSectorsWithAnimation\",\n value: function renderSectorsWithAnimation() {\n var _this4 = this;\n\n var _this$props4 = this.props,\n sectors = _this$props4.sectors,\n isAnimationActive = _this$props4.isAnimationActive,\n animationBegin = _this$props4.animationBegin,\n animationDuration = _this$props4.animationDuration,\n animationEasing = _this$props4.animationEasing,\n animationId = _this$props4.animationId;\n var prevSectors = this.state.prevSectors;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"pie-\".concat(animationId),\n onAnimationStart: this.handleAnimationStart,\n onAnimationEnd: this.handleAnimationEnd\n }, function (_ref) {\n var t = _ref.t;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = first.startAngle;\n sectors.forEach(function (entry, index) {\n var prev = prevSectors && prevSectors[index];\n var paddingAngle = index > 0 ? _get(entry, 'paddingAngle', 0) : 0;\n\n if (prev) {\n var angleIp = interpolateNumber(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle);\n\n var latest = _objectSpread({}, entry, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angleIp(t) + paddingAngle\n });\n\n stepData.push(latest);\n curAngle = latest.endAngle;\n } else {\n var endAngle = entry.endAngle,\n startAngle = entry.startAngle;\n var interpolatorAngle = interpolateNumber(0, endAngle - startAngle);\n var deltaAngle = interpolatorAngle(t);\n\n var _latest = _objectSpread({}, entry, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this4.renderSectorsStatically(stepData));\n });\n }\n }, {\n key: \"renderSectors\",\n value: function renderSectors() {\n var _this$props5 = this.props,\n sectors = _this$props5.sectors,\n isAnimationActive = _this$props5.isAnimationActive;\n var prevSectors = this.state.prevSectors;\n\n if (isAnimationActive && sectors && sectors.length && (!prevSectors || !_isEqual(prevSectors, sectors))) {\n return this.renderSectorsWithAnimation();\n }\n\n return this.renderSectorsStatically(sectors);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n sectors = _this$props6.sectors,\n className = _this$props6.className,\n label = _this$props6.label,\n cx = _this$props6.cx,\n cy = _this$props6.cy,\n innerRadius = _this$props6.innerRadius,\n outerRadius = _this$props6.outerRadius,\n isAnimationActive = _this$props6.isAnimationActive,\n prevSectors = _this$props6.prevSectors;\n\n if (hide || !sectors || !sectors.length || !isNumber(cx) || !isNumber(cy) || !isNumber(innerRadius) || !isNumber(outerRadius)) {\n return null;\n }\n\n var layerClass = classNames('recharts-pie', className);\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, this.renderSectors(), label && this.renderLabels(sectors), Label.renderCallByParent(this.props, null, false), (!isAnimationActive || prevSectors && _isEqual(prevSectors, sectors)) && LabelList.renderCallByParent(this.props, sectors, false));\n }\n }], [{\n key: \"getTextAnchor\",\n value: function getTextAnchor(x, cx) {\n if (x > cx) {\n return 'start';\n }\n\n if (x < cx) {\n return 'end';\n }\n\n return 'middle';\n }\n }, {\n key: \"renderLabelLineItem\",\n value: function renderLabelLineItem(option, props) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n\n if (_isFunction(option)) {\n return option(props);\n }\n\n return /*#__PURE__*/React.createElement(Curve, _extends({}, props, {\n type: \"linear\",\n className: \"recharts-pie-label-line\"\n }));\n }\n }, {\n key: \"renderLabelItem\",\n value: function renderLabelItem(option, props, value) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n\n var label = value;\n\n if (_isFunction(option)) {\n label = option(props);\n\n if ( /*#__PURE__*/React.isValidElement(label)) {\n return label;\n }\n }\n\n return /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n alignmentBaseline: \"middle\",\n className: \"recharts-pie-label-text\"\n }), label);\n }\n }, {\n key: \"renderSectorItem\",\n value: function renderSectorItem(option, props) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n\n if (_isFunction(option)) {\n return option(props);\n }\n\n if (_isPlainObject(option)) {\n return /*#__PURE__*/React.createElement(Sector, _extends({}, props, option));\n }\n\n return /*#__PURE__*/React.createElement(Sector, props);\n }\n }]);\n\n return Pie;\n}(PureComponent);\n\nPie.displayName = 'Pie';\nPie.defaultProps = {\n stroke: '#fff',\n fill: '#808080',\n legendType: 'rect',\n // The abscissa of pole\n cx: '50%',\n // The ordinate of pole\n cy: '50%',\n // The start angle of first sector\n startAngle: 0,\n // The direction of drawing sectors\n endAngle: 360,\n // The inner radius of sectors\n innerRadius: 0,\n // The outer radius of sectors\n outerRadius: '80%',\n paddingAngle: 0,\n labelLine: true,\n hide: false,\n minAngle: 0,\n isAnimationActive: !isSsr(),\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: 'ease',\n nameKey: 'name',\n // Match each sector's stroke color to it's fill color\n blendStroke: false\n};\n\nPie.parseDeltaAngle = function (_ref2) {\n var startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nPie.getRealPieData = function (item) {\n var _item$props = item.props,\n data = _item$props.data,\n children = _item$props.children;\n var presentationProps = getPresentationAttributes(item.props);\n var cells = findAllByType(children, Cell);\n\n if (data && data.length) {\n return data.map(function (entry, index) {\n return _objectSpread({\n payload: entry\n }, presentationProps, {}, entry, {}, cells && cells[index] && cells[index].props);\n });\n }\n\n if (cells && cells.length) {\n return cells.map(function (cell) {\n return _objectSpread({}, presentationProps, {}, cell.props);\n });\n }\n\n return [];\n};\n\nPie.parseCoordinateOfPie = function (item, offset) {\n var top = offset.top,\n left = offset.left,\n width = offset.width,\n height = offset.height;\n var maxPieRadius = getMaxRadius(width, height);\n var cx = left + getPercentValue(item.props.cx, width, width / 2);\n var cy = top + getPercentValue(item.props.cy, height, height / 2);\n var innerRadius = getPercentValue(item.props.innerRadius, maxPieRadius, 0);\n var outerRadius = getPercentValue(item.props.outerRadius, maxPieRadius, maxPieRadius * 0.8);\n var maxRadius = item.props.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n maxRadius: maxRadius\n };\n};\n\nPie.getComposedData = function (_ref3) {\n var item = _ref3.item,\n offset = _ref3.offset,\n onItemMouseLeave = _ref3.onItemMouseLeave,\n onItemMouseEnter = _ref3.onItemMouseEnter;\n var pieData = Pie.getRealPieData(item);\n\n if (!pieData || !pieData.length) {\n return [];\n }\n\n var _item$props2 = item.props,\n cornerRadius = _item$props2.cornerRadius,\n startAngle = _item$props2.startAngle,\n endAngle = _item$props2.endAngle,\n paddingAngle = _item$props2.paddingAngle,\n dataKey = _item$props2.dataKey,\n nameKey = _item$props2.nameKey,\n valueKey = _item$props2.valueKey,\n tooltipType = _item$props2.tooltipType;\n var minAngle = Math.abs(item.props.minAngle);\n var coordinate = Pie.parseCoordinateOfPie(item, offset);\n var len = pieData.length;\n var deltaAngle = Pie.parseDeltaAngle({\n startAngle: startAngle,\n endAngle: endAngle\n });\n var absDeltaAngle = Math.abs(deltaAngle);\n var totalPadingAngle = (absDeltaAngle >= 360 ? len : len - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - len * minAngle - totalPadingAngle;\n var realDataKey = dataKey;\n\n if (_isNil(dataKey) && _isNil(valueKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = 'value';\n } else if (_isNil(dataKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = valueKey;\n }\n\n var sum = pieData.reduce(function (result, entry) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n return result + (isNumber(val) ? val : 0);\n }, 0);\n var sectors;\n\n if (sum > 0) {\n var prev;\n sectors = pieData.map(function (entry, i) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var percent = (isNumber(val) ? val : 0) / sum;\n var tempStartAngle;\n\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle;\n } else {\n tempStartAngle = startAngle;\n }\n\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * (minAngle + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name: name,\n value: val,\n payload: entry,\n dataKey: realDataKey,\n type: tooltipType\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread({\n percent: percent,\n cornerRadius: cornerRadius,\n name: name,\n tooltipPayload: tooltipPayload,\n midAngle: midAngle,\n middleRadius: middleRadius,\n tooltipPosition: tooltipPosition\n }, entry, {}, coordinate, {\n value: getValueByDataKey(entry, realDataKey),\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entry,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n\n return _objectSpread({}, coordinate, {\n sectors: sectors,\n data: pieData,\n onMouseLeave: onItemMouseLeave,\n onMouseEnter: onItemMouseEnter\n });\n};\n\nexport default Pie;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread({}, res, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _range from \"lodash/range\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Brush\n */\n\n\nimport React, { PureComponent, Children } from 'react';\nimport classNames from 'classnames';\nimport { scalePoint } from 'd3-scale';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport Layer from '../container/Layer';\nimport Text from '../component/Text';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\n\nvar Brush = /*#__PURE__*/function (_PureComponent) {\n _inherits(Brush, _PureComponent);\n\n function Brush(props) {\n var _this;\n\n _classCallCheck(this, Brush);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Brush).call(this, props));\n\n _this.handleDrag = function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n };\n\n _this.handleDragEnd = function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n });\n };\n\n _this.handleLeaveWrapper = function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n };\n\n _this.handleEnterSlideOrTraveller = function () {\n _this.setState({\n isTextActive: true\n });\n };\n\n _this.handleLeaveSlideOrTraveller = function () {\n _this.setState({\n isTextActive: false\n });\n };\n\n _this.handleSlideDragStart = function (e) {\n var event = e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : e;\n\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n };\n\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'startX'),\n endX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'endX')\n };\n _this.state = props.data && props.data.length ? _this.updateScale(props) : {};\n return _this;\n } // eslint-disable-next-line camelcase\n\n\n _createClass(Brush, [{\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var _this$props = this.props,\n data = _this$props.data,\n width = _this$props.width,\n x = _this$props.x,\n travellerWidth = _this$props.travellerWidth,\n updateId = _this$props.updateId;\n\n if ((nextProps.data !== data || nextProps.updateId !== updateId) && nextProps.data && nextProps.data.length) {\n this.setState(this.updateScale(nextProps));\n } else if (nextProps.width !== width || nextProps.x !== x || nextProps.travellerWidth !== travellerWidth) {\n this.scale.range([nextProps.x, nextProps.x + nextProps.width - nextProps.travellerWidth]);\n this.scaleValues = this.scale.domain().map(function (entry) {\n return _this2.scale(entry);\n });\n this.setState({\n startX: this.scale(nextProps.startIndex),\n endX: this.scale(nextProps.endIndex)\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.scale = null;\n this.scaleValues = null;\n\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref) {\n var startX = _ref.startX,\n endX = _ref.endX;\n var _this$props2 = this.props,\n gap = _this$props2.gap,\n data = _this$props2.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = this.constructor.getIndexInRange(this.scaleValues, min);\n var maxIndex = this.constructor.getIndexInRange(this.scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props3 = this.props,\n data = _this$props3.data,\n tickFormatter = _this$props3.tickFormatter,\n dataKey = _this$props3.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return _isFunction(tickFormatter) ? tickFormatter(text) : text;\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n startIndex = _this$props4.startIndex,\n endIndex = _this$props4.endIndex,\n onChange = _this$props4.onChange;\n var delta = e.pageX - slideMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$setState;\n\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props5 = this.props,\n x = _this$props5.x,\n width = _this$props5.width,\n travellerWidth = _this$props5.travellerWidth,\n onChange = _this$props5.onChange,\n gap = _this$props5.gap,\n data = _this$props5.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n\n return false;\n };\n\n this.setState((_this$setState = {}, _defineProperty(_this$setState, movingTravellerId, prevValue + delta), _defineProperty(_this$setState, \"brushMoveStartX\", e.pageX), _this$setState), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"updateScale\",\n value: function updateScale(props) {\n var _this3 = this;\n\n var data = props.data,\n startIndex = props.startIndex,\n endIndex = props.endIndex,\n x = props.x,\n width = props.width,\n travellerWidth = props.travellerWidth;\n var len = data.length;\n this.scale = scalePoint().domain(_range(0, len)).range([x, x + width - travellerWidth]);\n this.scaleValues = this.scale.domain().map(function (entry) {\n return _this3.scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n startX: this.scale(startIndex),\n endX: this.scale(endIndex)\n };\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n fill = _this$props6.fill,\n stroke = _this$props6.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props7 = this.props,\n x = _this$props7.x,\n y = _this$props7.y,\n width = _this$props7.width,\n height = _this$props7.height,\n data = _this$props7.data,\n children = _this$props7.children,\n padding = _this$props7.padding;\n var chartElement = Children.only(children);\n\n if (!chartElement) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(travellerX, id) {\n var _this$props8 = this.props,\n y = _this$props8.y,\n travellerWidth = _this$props8.travellerWidth,\n height = _this$props8.height,\n stroke = _this$props8.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n var x = Math.max(travellerX, this.props.x);\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n style: {\n cursor: 'col-resize'\n }\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: travellerWidth,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + travellerWidth - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + travellerWidth - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props9 = this.props,\n y = _this$props9.y,\n height = _this$props9.height,\n stroke = _this$props9.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: Math.min(startX, endX),\n y: y,\n width: Math.abs(endX - startX),\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props10 = this.props,\n startIndex = _this$props10.startIndex,\n endIndex = _this$props10.endIndex,\n y = _this$props10.y,\n height = _this$props10.height,\n travellerWidth = _this$props10.travellerWidth,\n stroke = _this$props10.stroke;\n var _this$state3 = this.state,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props11 = this.props,\n data = _this$props11.data,\n className = _this$props11.className,\n children = _this$props11.children,\n x = _this$props11.x,\n y = _this$props11.y,\n width = _this$props11.width,\n height = _this$props11.height,\n alwaysShowText = _this$props11.alwaysShowText;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX,\n isTextActive = _this$state4.isTextActive,\n isSlideMoving = _this$state4.isSlideMoving,\n isTravellerMoving = _this$state4.isTravellerMoving;\n\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseMove: this.handleDrag,\n onMouseLeave: this.handleLeaveWrapper,\n onMouseUp: this.handleDragEnd,\n onTouchEnd: this.handleDragEnd,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTraveller(startX, 'startX'), this.renderTraveller(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"getIndexInRange\",\n value: function getIndexInRange(range, x) {\n var len = range.length;\n var start = 0;\n var end = len - 1;\n\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n\n if (range[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n\n return x >= range[end] ? end : start;\n }\n }]);\n\n return Brush;\n}(PureComponent);\n\nBrush.displayName = 'Brush';\nBrush.defaultProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n};\nexport default Brush;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Cartesian Grid\n */\n\n\nimport React, { PureComponent } from 'react';\nimport { getPresentationAttributes } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\n\nvar CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CartesianGrid).apply(this, arguments));\n }\n\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n value: function renderHorizontal(horizontalPoints) {\n var _this = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread({}, _this.props, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n\n return _this.constructor.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread({}, _this2.props, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n\n return _this2.constructor.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var verticalPointsUpdated = verticalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (x !== verticalPointsUpdated[0]) {\n verticalPointsUpdated.unshift(0);\n }\n\n var items = verticalPointsUpdated.map(function (entry, i) {\n var lineWidth = verticalPointsUpdated[i + 1] ? verticalPointsUpdated[i + 1] - entry : x + width - entry;\n\n if (lineWidth <= 0) {\n return null;\n }\n\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: Math.round(entry + x - x),\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var horizontalPointsUpdated = horizontalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (y !== horizontalPointsUpdated[0]) {\n horizontalPointsUpdated.unshift(0);\n }\n\n var items = horizontalPointsUpdated.map(function (entry, i) {\n var lineHeight = horizontalPointsUpdated[i + 1] ? horizontalPointsUpdated[i + 1] - entry : y + height - entry;\n\n if (lineHeight <= 0) {\n return null;\n }\n\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: Math.round(entry + y - y),\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n\n if (!fill || fill === 'none') {\n return null;\n }\n\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints; // No horizontal points are specified\n\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n } // No vertical points are specified\n\n\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n }\n\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"]);\n\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, getPresentationAttributes(others), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n\n return lineItem;\n }\n }]);\n\n return CartesianGrid;\n}(PureComponent);\n\nCartesianGrid.displayName = 'CartesianGrid';\nCartesianGrid.defaultProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\n};\nexport default CartesianGrid;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Rectangle\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\n\nvar getRectangePath = function getRectangePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [];\n\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n\n return path;\n};\n\nvar Rectangle = /*#__PURE__*/function (_PureComponent) {\n _inherits(Rectangle, _PureComponent);\n\n function Rectangle() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Rectangle);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Rectangle)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n totalLength: -1\n };\n return _this;\n }\n\n _createClass(Rectangle, [{\n key: \"componentDidMount\",\n\n /* eslint-disable react/no-did-mount-set-state */\n value: function componentDidMount() {\n if (this.node && this.node.getTotalLength) {\n try {\n var totalLength = this.node.getTotalLength();\n\n if (totalLength) {\n this.setState({\n totalLength: totalLength\n });\n }\n } catch (err) {// calculate total length error\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n radius = _this$props.radius,\n className = _this$props.className;\n var totalLength = this.state.totalLength;\n var _this$props2 = this.props,\n animationEasing = _this$props2.animationEasing,\n animationDuration = _this$props2.animationDuration,\n animationBegin = _this$props2.animationBegin,\n isAnimationActive = _this$props2.isAnimationActive,\n isUpdateAnimationActive = _this$props2.isUpdateAnimationActive;\n\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-rectangle', className);\n\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props), {\n className: layerClass,\n d: getRectangePath(x, y, width, height, radius)\n }));\n }\n\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(_this2.props), filterEventAttributes(_this2.props), {\n className: layerClass,\n d: getRectangePath(currX, currY, currWidth, currHeight, radius),\n ref: function ref(node) {\n _this2.node = node;\n }\n })));\n });\n }\n }]);\n\n return Rectangle;\n}(PureComponent);\n\nRectangle.displayName = 'Rectangle';\nRectangle.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport default Rectangle;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isNil from \"lodash/isNil\";\nimport _isEqual from \"lodash/isEqual\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Render a group of bar\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport Rectangle from '../shape/Rectangle';\nimport Layer from '../container/Layer';\nimport ErrorBar from './ErrorBar';\nimport Cell from '../component/Cell';\nimport LabelList from '../component/LabelList';\nimport { uniqueId, mathSign, interpolateNumber } from '../util/DataUtils';\nimport { findAllByType, getPresentationAttributes, filterEventsOfChild, isSsr } from '../util/ReactUtils';\nimport { getCateCoordinateOfBar, getValueByDataKey, truncateByDomain, getBaseValueOfBar, findPositionOfBar } from '../util/ChartUtils';\n\nvar Bar = /*#__PURE__*/function (_PureComponent) {\n _inherits(Bar, _PureComponent);\n\n function Bar() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Bar);\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 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Bar)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n isAnimationFinished: false\n };\n _this.id = uniqueId('recharts-bar-');\n\n _this.cachePrevData = function (data) {\n _this.setState({\n prevData: data\n });\n };\n\n _this.handleAnimationEnd = function () {\n _this.setState({\n isAnimationFinished: true\n });\n\n _this.props.onAnimationEnd();\n };\n\n _this.handleAnimationStart = function () {\n _this.setState({\n isAnimationFinished: false\n });\n\n _this.props.onAnimationStart();\n };\n\n return _this;\n }\n\n _createClass(Bar, [{\n key: \"componentWillReceiveProps\",\n // eslint-disable-next-line camelcase\n value: function componentWillReceiveProps(nextProps) {\n var _this$props = this.props,\n animationId = _this$props.animationId,\n data = _this$props.data;\n\n if (nextProps.animationId !== animationId) {\n this.cachePrevData(data);\n }\n }\n }, {\n key: \"renderRectanglesStatically\",\n value: function renderRectanglesStatically(data) {\n var _this2 = this;\n\n var shape = this.props.shape;\n var baseProps = getPresentationAttributes(this.props);\n return data && data.map(function (entry, i) {\n var props = _objectSpread({}, baseProps, {}, entry, {\n index: i\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-bar-rectangle\"\n }, filterEventsOfChild(_this2.props, entry, i), {\n key: \"rectangle-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }), _this2.constructor.renderRectangle(shape, props));\n });\n }\n }, {\n key: \"renderRectanglesWithAnimation\",\n value: function renderRectanglesWithAnimation() {\n var _this3 = this;\n\n var _this$props2 = this.props,\n data = _this$props2.data,\n layout = _this$props2.layout,\n isAnimationActive = _this$props2.isAnimationActive,\n animationBegin = _this$props2.animationBegin,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n animationId = _this$props2.animationId;\n var prevData = this.state.prevData;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"bar-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n var stepData = data.map(function (entry, index) {\n var prev = prevData && prevData[index];\n\n if (prev) {\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n var interpolatorWidth = interpolateNumber(prev.width, entry.width);\n var interpolatorHeight = interpolateNumber(prev.height, entry.height);\n return _objectSpread({}, entry, {\n x: interpolatorX(t),\n y: interpolatorY(t),\n width: interpolatorWidth(t),\n height: interpolatorHeight(t)\n });\n }\n\n if (layout === 'horizontal') {\n var _interpolatorHeight = interpolateNumber(0, entry.height);\n\n var h = _interpolatorHeight(t);\n\n return _objectSpread({}, entry, {\n y: entry.y + entry.height - h,\n height: h\n });\n }\n\n var interpolator = interpolateNumber(0, entry.width);\n var w = interpolator(t);\n return _objectSpread({}, entry, {\n width: w\n });\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderRectanglesStatically(stepData));\n });\n }\n }, {\n key: \"renderRectangles\",\n value: function renderRectangles() {\n var _this$props3 = this.props,\n data = _this$props3.data,\n isAnimationActive = _this$props3.isAnimationActive;\n var prevData = this.state.prevData;\n\n if (isAnimationActive && data && data.length && (!prevData || !_isEqual(prevData, data))) {\n return this.renderRectanglesWithAnimation();\n }\n\n return this.renderRectanglesStatically(data);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this4 = this;\n\n var data = this.props.data;\n var backgroundProps = getPresentationAttributes(this.props.background);\n return data.map(function (entry, i) {\n // eslint-disable-next-line no-unused-vars\n var value = entry.value,\n background = entry.background,\n rest = _objectWithoutProperties(entry, [\"value\", \"background\"]);\n\n if (!background) {\n return null;\n }\n\n var props = _objectSpread({}, rest, {\n fill: '#eee'\n }, background, {}, backgroundProps, {}, filterEventsOfChild(_this4.props, entry, i), {\n index: i,\n key: \"background-bar-\".concat(i),\n className: 'recharts-bar-background-rectangle'\n });\n\n return _this4.constructor.renderRectangle(_this4.props.background, props);\n });\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar() {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props4 = this.props,\n data = _this$props4.data,\n xAxis = _this$props4.xAxis,\n yAxis = _this$props4.yAxis,\n layout = _this$props4.layout,\n children = _this$props4.children;\n var errorBarItems = findAllByType(children, ErrorBar);\n\n if (!errorBarItems) {\n return null;\n }\n\n var offset = layout === 'vertical' ? data[0].height / 2 : data[0].width / 2;\n\n function dataPointFormatter(dataPoint, dataKey) {\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: dataPoint.value,\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n }\n\n return errorBarItems.map(function (item, i) {\n return /*#__PURE__*/React.cloneElement(item, {\n key: \"error-bar-\".concat(i),\n // eslint-disable-line react/no-array-index-key\n data: data,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n offset: offset,\n dataPointFormatter: dataPointFormatter\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n hide = _this$props5.hide,\n data = _this$props5.data,\n className = _this$props5.className,\n xAxis = _this$props5.xAxis,\n yAxis = _this$props5.yAxis,\n left = _this$props5.left,\n top = _this$props5.top,\n width = _this$props5.width,\n height = _this$props5.height,\n isAnimationActive = _this$props5.isAnimationActive,\n background = _this$props5.background,\n id = _this$props5.id;\n\n if (hide || !data || !data.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var layerClass = classNames('recharts-bar', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: height\n }))) : null, /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, background ? this.renderBackground() : null, this.renderRectangles()), this.renderErrorBar(), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, data));\n }\n }], [{\n key: \"renderRectangle\",\n value: function renderRectangle(option, props) {\n var rectangle;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = /*#__PURE__*/React.createElement(Rectangle, props);\n }\n\n return rectangle;\n }\n }]);\n\n return Bar;\n}(PureComponent);\n\nBar.displayName = 'Bar';\nBar.defaultProps = {\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'rect',\n minPointSize: 0,\n hide: false,\n // data of bar\n data: [],\n layout: 'vertical',\n isAnimationActive: !isSsr(),\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: 'ease',\n onAnimationStart: function onAnimationStart() {},\n onAnimationEnd: function onAnimationEnd() {}\n};\n\nBar.getComposedData = function (_ref2) {\n var props = _ref2.props,\n item = _ref2.item,\n barPosition = _ref2.barPosition,\n bandSize = _ref2.bandSize,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var pos = findPositionOfBar(barPosition, item);\n\n if (!pos) {\n return [];\n }\n\n var layout = props.layout;\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n children = _item$props.children,\n minPointSize = _item$props.minPointSize;\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n props: props,\n numericAxis: numericAxis\n });\n var cells = findAllByType(children, Cell);\n var rects = displayedData.map(function (entry, index) {\n var value, x, y, width, height, background;\n\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n\n if (!_isArray(value)) {\n value = [baseValue, value];\n }\n }\n\n if (layout === 'horizontal') {\n x = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n y = yAxis.scale(value[1]);\n width = pos.size;\n height = yAxis.scale(value[0]) - yAxis.scale(value[1]);\n background = {\n x: x,\n y: yAxis.y,\n width: width,\n height: yAxis.height\n };\n\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y -= delta;\n height += delta;\n }\n } else {\n x = xAxis.scale(value[0]);\n y = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n width = xAxis.scale(value[1]) - xAxis.scale(value[0]);\n height = pos.size;\n background = {\n x: xAxis.x,\n y: y,\n width: xAxis.width,\n height: height\n };\n\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n\n width += _delta;\n }\n }\n\n return _objectSpread({}, entry, {\n x: x,\n y: y,\n width: width,\n height: height,\n value: stackedData ? value : value[1],\n payload: entry,\n background: background\n }, cells && cells[index] && cells[index].props);\n });\n return _objectSpread({\n data: rects,\n layout: layout\n }, offset);\n};\n\nexport default Bar;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview X Axis\n */\n\n\nimport { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { SCALE_TYPES } from '../util/ReactUtils';\n\nvar XAxis = /*#__PURE__*/function (_PureComponent) {\n _inherits(XAxis, _PureComponent);\n\n function XAxis() {\n _classCallCheck(this, XAxis);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(XAxis).apply(this, arguments));\n }\n\n _createClass(XAxis, [{\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return XAxis;\n}(PureComponent);\n\nXAxis.displayName = 'XAxis';\nXAxis.propTypes = {\n allowDecimals: PropTypes.bool,\n allowDuplicatedCategory: PropTypes.bool,\n hide: PropTypes.bool,\n // The name of data displayed in the axis\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // The unit of data displayed in the axis\n unit: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // The unique id of x-axis\n xAxisId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n domain: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func, PropTypes.oneOf(['auto', 'dataMin', 'dataMax'])])),\n // The key of data displayed in the axis\n dataKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func]),\n // The width of axis which is usually calculated internally\n width: PropTypes.number,\n // The height of axis, which need to be setted by user\n height: PropTypes.number,\n mirror: PropTypes.bool,\n // The orientation of axis\n orientation: PropTypes.oneOf(['top', 'bottom']),\n type: PropTypes.oneOf(['number', 'category']),\n // Ticks can be any type when the axis is the type of category\n // Ticks must be numbers when the axis is the type of number\n ticks: PropTypes.array,\n // The count of ticks\n tickCount: PropTypes.number,\n // The formatter function of tick\n tickFormatter: PropTypes.func,\n padding: PropTypes.shape({\n left: PropTypes.number,\n right: PropTypes.number\n }),\n allowDataOverflow: PropTypes.bool,\n scale: PropTypes.oneOfType([PropTypes.oneOf(SCALE_TYPES), PropTypes.func]),\n tick: PropTypes.oneOfType([PropTypes.bool, PropTypes.func, PropTypes.object, PropTypes.element]),\n axisLine: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tickLine: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n minTickGap: PropTypes.number,\n tickSize: PropTypes.number,\n interval: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['preserveStart', 'preserveEnd', 'preserveStartEnd'])]),\n reversed: PropTypes.bool\n};\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n domain: [0, 'auto'],\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};\nexport default XAxis;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Y Axis\n */\n\n\nimport { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\n\nvar YAxis = /*#__PURE__*/function (_PureComponent) {\n _inherits(YAxis, _PureComponent);\n\n function YAxis() {\n _classCallCheck(this, YAxis);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(YAxis).apply(this, arguments));\n }\n\n _createClass(YAxis, [{\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return YAxis;\n}(PureComponent);\n\nYAxis.displayName = 'YAxis';\nYAxis.propTypes = {\n allowDecimals: PropTypes.bool,\n allowDuplicatedCategory: PropTypes.bool,\n hide: PropTypes.bool,\n // The name of data displayed in the axis\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // The unit of data displayed in the axis\n unit: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // The unique id of y-axis\n yAxisId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n domain: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func, PropTypes.oneOf(['auto', 'dataMin', 'dataMax'])])),\n // The key of data displayed in the axis\n dataKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.func]),\n // Ticks can be any type when the axis is the type of category\n // Ticks must be numbers when the axis is the type of number\n ticks: PropTypes.array,\n // The count of ticks\n tickCount: PropTypes.number,\n // The formatter function of tick\n tickFormatter: PropTypes.func,\n // The width of axis, which need to be setted by user\n width: PropTypes.number,\n // The height of axis which is usually calculated in Chart\n height: PropTypes.number,\n mirror: PropTypes.bool,\n // The orientation of axis\n orientation: PropTypes.oneOf(['left', 'right']),\n type: PropTypes.oneOf(['number', 'category']),\n padding: PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number\n }),\n allowDataOverflow: PropTypes.bool,\n scale: PropTypes.oneOfType([PropTypes.oneOf(['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold']), PropTypes.func]),\n tick: PropTypes.oneOfType([PropTypes.bool, PropTypes.func, PropTypes.object, PropTypes.element]),\n axisLine: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tickLine: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n minTickGap: PropTypes.number,\n tickSize: PropTypes.number,\n interval: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['preserveStart', 'preserveEnd', 'preserveStartEnd'])]),\n reversed: PropTypes.bool\n};\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n domain: [0, 'auto'],\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};\nexport default YAxis;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Cross\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumber } from '../util/DataUtils';\nimport { getPresentationAttributes } from '../util/ReactUtils';\n\nvar Cross = /*#__PURE__*/function (_PureComponent) {\n _inherits(Cross, _PureComponent);\n\n function Cross() {\n _classCallCheck(this, Cross);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Cross).apply(this, arguments));\n }\n\n _createClass(Cross, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n top = _this$props.top,\n left = _this$props.left,\n className = _this$props.className;\n\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, getPresentationAttributes(this.props), {\n className: classNames('recharts-cross', className),\n d: this.constructor.getPath(x, y, width, height, top, left)\n }));\n }\n }], [{\n key: \"getPath\",\n value: function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n }\n }]);\n\n return Cross;\n}(PureComponent);\n\nCross.displayName = 'Cross';\nCross.defaultProps = {\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n width: 0,\n height: 0\n};\nexport default Cross;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Dot\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\n\nvar Dot = /*#__PURE__*/function (_PureComponent) {\n _inherits(Dot, _PureComponent);\n\n function Dot() {\n _classCallCheck(this, Dot);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Dot).apply(this, arguments));\n }\n\n _createClass(Dot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n r = _this$props.r,\n className = _this$props.className;\n var layerClass = classNames('recharts-dot', className);\n\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props, null, true), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n\n return null;\n }\n }]);\n\n return Dot;\n}(PureComponent);\n\nDot.displayName = 'Dot';\nexport default Dot;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Cartesian Axis\n */\n\n\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { getStringSize } from '../util/DOMUtils';\nimport Layer from '../container/Layer';\nimport Text from '../component/Text';\nimport Label from '../component/Label';\nimport { isSsr, getPresentationAttributes, filterEventsOfChild } from '../util/ReactUtils';\nimport { isNumber, mathSign } from '../util/DataUtils';\n\nvar CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n\n function CartesianAxis() {\n _classCallCheck(this, CartesianAxis);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CartesianAxis).apply(this, arguments));\n }\n\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref, state) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, [\"viewBox\"]); // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n\n\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, [\"viewBox\"]);\n\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(state, this.state);\n }\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + !mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + !mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n\n default:\n x1 = x2 = data.coordinate;\n y2 = y + mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n axisLine = _this$props5.axisLine,\n mirror = _this$props5.mirror;\n\n var props = _objectSpread({}, getPresentationAttributes(this.props), {\n fill: 'none'\n }, getPresentationAttributes(axisLine));\n\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n props = _objectSpread({}, props, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n props = _objectSpread({}, props, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-cartesian-axis-line\"\n }, props));\n }\n }, {\n key: \"renderTicks\",\n\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @return {ReactComponent} renderedTicks\n */\n value: function renderTicks(ticks) {\n var _this = this;\n\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = CartesianAxis.getTicks(_objectSpread({}, this.props, {\n ticks: ticks\n }));\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = getPresentationAttributes(this.props);\n var customTickProps = getPresentationAttributes(tick);\n\n var tickLineProps = _objectSpread({}, axisProps, {\n fill: 'none'\n }, getPresentationAttributes(tickLine));\n\n var items = finalTicks.map(function (entry, i) {\n var _this$getTickLineCoor = _this.getTickLineCoord(entry),\n lineCoord = _this$getTickLineCoor.line,\n tickCoord = _this$getTickLineCoor.tick;\n\n var tickProps = _objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps, {\n stroke: 'none',\n fill: stroke\n }, customTickProps, {}, tickCoord, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, filterEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-cartesian-axis-tick-line\"\n }, tickLineProps, lineCoord)), tick && _this.constructor.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n\n if (hide) {\n return null;\n }\n\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, [\"ticks\"]);\n\n var finalTicks = ticks;\n\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className)\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"getTicks\",\n value: function getTicks(props) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit;\n\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n\n if (isNumber(interval) || isSsr()) {\n return CartesianAxis.getNumberIntervalTicks(ticks, isNumber(interval) ? interval : 0);\n }\n\n if (interval === 'preserveStartEnd') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n }, true);\n }\n\n if (interval === 'preserveStart') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n\n return CartesianAxis.getTicksEnd({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n }, {\n key: \"getNumberIntervalTicks\",\n value: function getNumberIntervalTicks(ticks, interval) {\n return ticks.filter(function (entry, i) {\n return i % (interval + 1) === 0;\n });\n }\n }, {\n key: \"getTicksStart\",\n value: function getTicksStart(_ref2, preserveEnd) {\n var ticks = _ref2.ticks,\n tickFormatter = _ref2.tickFormatter,\n viewBox = _ref2.viewBox,\n orientation = _ref2.orientation,\n minTickGap = _ref2.minTickGap,\n unit = _ref2.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var result = (ticks || []).slice(); // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailContent = _isFunction(tickFormatter) ? tickFormatter(tail.value) : tail.value;\n var tailSize = getStringSize(tailContent)[sizeKey] + unitSize;\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread({}, tail, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = sign * (tail.tickCoord - sign * tailSize / 2 - start) >= 0 && sign * (tail.tickCoord + sign * tailSize / 2 - end) <= 0;\n\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread({}, tail, {\n isShow: true\n });\n }\n }\n\n var count = preserveEnd ? len - 1 : len;\n\n for (var _i = 0; _i < count; _i++) {\n var entry = result[_i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (_i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[_i] = entry = _objectSpread({}, entry, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[_i] = entry = _objectSpread({}, entry, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[_i] = _objectSpread({}, entry, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"getTicksEnd\",\n value: function getTicksEnd(_ref3) {\n var ticks = _ref3.ticks,\n tickFormatter = _ref3.tickFormatter,\n viewBox = _ref3.viewBox,\n orientation = _ref3.orientation,\n minTickGap = _ref3.minTickGap,\n unit = _ref3.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height'; // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var result = (ticks || []).slice();\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n for (var _i2 = len - 1; _i2 >= 0; _i2--) {\n var entry = result[_i2];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (_i2 === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[_i2] = entry = _objectSpread({}, entry, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[_i2] = entry = _objectSpread({}, entry, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[_i2] = _objectSpread({}, entry, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return CartesianAxis;\n}(Component);\n\nCartesianAxis.displayName = 'CartesianAxis';\nCartesianAxis.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n};\nexport default CartesianAxis;","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n\n return ifOverflow === value;\n};","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var range, x, y, needSpace;\n\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0), offset.left + offset.width - (padding.right || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0), offset.top + offset.height - (padding.bottom || 0)];\n } else {\n range = axis.range;\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n\n var _parseScale = parseScale(axis, chartName),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread({}, axis, {\n realScaleType: realScaleType\n }));\n\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n\n var finalAxis = _objectSpread({}, axis, {}, ticks, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n\n return _objectSpread({}, result, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\n\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n _createClass(ScaleHelper, null, [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n\n this.scale = scale;\n }\n\n _createClass(ScaleHelper, [{\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n\n if (value === undefined) {\n return undefined;\n }\n\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n\n return this.scale(value) + _offset;\n }\n\n default:\n {\n return this.scale(value);\n }\n }\n }\n\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n\n return this.scale(value) + _offset2;\n }\n\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }, {\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }]);\n\n return ScaleHelper;\n}();\nScaleHelper.EPS = 1e-4;\nexport var LabeledScaleHelper = /*#__PURE__*/function () {\n _createClass(LabeledScaleHelper, null, [{\n key: \"create\",\n value: function create(obj) {\n return new this(obj);\n }\n }]);\n\n function LabeledScaleHelper(scales) {\n _classCallCheck(this, LabeledScaleHelper);\n\n this.scales = _mapValues(scales, ScaleHelper.create);\n Object.assign(this, this.scales);\n }\n\n _createClass(LabeledScaleHelper, [{\n key: \"apply\",\n value: function apply(coords) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware;\n\n var scales = this.scales;\n return _mapValues(coords, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware\n });\n });\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(coords) {\n var scales = this.scales;\n return _every(coords, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n }]);\n\n return LabeledScaleHelper;\n}();","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Reference Dot\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Layer from '../container/Layer';\nimport Dot from '../shape/Dot';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\nimport Label from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { LabeledScaleHelper } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\n\nvar ReferenceDot = /*#__PURE__*/function (_PureComponent) {\n _inherits(ReferenceDot, _PureComponent);\n\n function ReferenceDot() {\n _classCallCheck(this, ReferenceDot);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ReferenceDot).apply(this, arguments));\n }\n\n _createClass(ReferenceDot, [{\n key: \"getCoordinate\",\n value: function getCoordinate() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis;\n var scales = LabeledScaleHelper.create({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n\n if (ifOverflowMatches(this.props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n\n return result;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n r = _this$props2.r,\n alwaysShow = _this$props2.alwaysShow,\n clipPathId = _this$props2.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n\n if (!isX || !isY) {\n return null;\n }\n\n var coordinate = this.getCoordinate();\n\n if (!coordinate) {\n return null;\n }\n\n var cx = coordinate.x,\n cy = coordinate.y;\n var _this$props3 = this.props,\n shape = _this$props3.shape,\n className = _this$props3.className;\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var dotProps = _objectSpread({\n clipPath: clipPath\n }, getPresentationAttributes(this.props), {}, filterEventAttributes(this.props), {\n cx: cx,\n cy: cy\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-dot', className)\n }, this.constructor.renderDot(shape, dotProps), Label.renderCallByParent(this.props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n }\n }], [{\n key: \"renderDot\",\n value: function renderDot(option, props) {\n var dot;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n\n return dot;\n }\n }]);\n\n return ReferenceDot;\n}(PureComponent);\n\nReferenceDot.displayName = 'ReferenceDot';\nReferenceDot.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n};\nexport default ReferenceDot;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _some from \"lodash/some\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n/**\n * @fileOverview Reference Line\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Layer from '../container/Layer';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\nimport Label from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { LabeledScaleHelper, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\n\nvar renderLine = function renderLine(option, props) {\n var line;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n\n return line;\n};\n\nvar ReferenceLine = /*#__PURE__*/function (_PureComponent) {\n _inherits(ReferenceLine, _PureComponent);\n\n function ReferenceLine() {\n _classCallCheck(this, ReferenceLine);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ReferenceLine).apply(this, arguments));\n }\n\n _createClass(ReferenceLine, [{\n key: \"getEndPoints\",\n value: function getEndPoints(scales, isFixedX, isFixedY, isSegment) {\n var _this$props = this.props,\n _this$props$viewBox = _this$props.viewBox,\n x = _this$props$viewBox.x,\n y = _this$props$viewBox.y,\n width = _this$props$viewBox.width,\n height = _this$props$viewBox.height,\n position = _this$props.position;\n\n if (isFixedY) {\n var _this$props2 = this.props,\n yCoord = _this$props2.y,\n orientation = _this$props2.yAxis.orientation;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n\n if (ifOverflowMatches(this.props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return orientation === 'left' ? points.reverse() : points;\n }\n\n if (isFixedX) {\n var _this$props3 = this.props,\n xCoord = _this$props3.x,\n _orientation = _this$props3.xAxis.orientation;\n\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n\n if (ifOverflowMatches(this.props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return _orientation === 'top' ? _points.reverse() : _points;\n }\n\n if (isSegment) {\n var segment = this.props.segment;\n\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n\n if (ifOverflowMatches(this.props, 'discard') && _some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n\n return _points2;\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n fixedX = _this$props4.x,\n fixedY = _this$props4.y,\n segment = _this$props4.segment,\n xAxis = _this$props4.xAxis,\n yAxis = _this$props4.yAxis,\n shape = _this$props4.shape,\n className = _this$props4.className,\n alwaysShow = _this$props4.alwaysShow,\n clipPathId = _this$props4.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = LabeledScaleHelper.create({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = this.getEndPoints(scales, isX, isY, isSegment);\n\n if (!endPoints) {\n return null;\n }\n\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var props = _objectSpread({\n clipPath: clipPath\n }, getPresentationAttributes(this.props), {}, filterEventAttributes(this.props), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-line', className)\n }, renderLine(shape, props), Label.renderCallByParent(this.props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n }\n }]);\n\n return ReferenceLine;\n}(PureComponent);\n\nReferenceLine.displayName = 'ReferenceLine';\nReferenceLine.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n};\nexport default ReferenceLine;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Reference Line\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Layer from '../container/Layer';\nimport Label from '../component/Label';\nimport { LabeledScaleHelper, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport Rectangle from '../shape/Rectangle';\n\nvar ReferenceArea = /*#__PURE__*/function (_PureComponent) {\n _inherits(ReferenceArea, _PureComponent);\n\n function ReferenceArea() {\n _classCallCheck(this, ReferenceArea);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ReferenceArea).apply(this, arguments));\n }\n\n _createClass(ReferenceArea, [{\n key: \"getRect\",\n value: function getRect(hasX1, hasX2, hasY1, hasY2) {\n var _this$props = this.props,\n xValue1 = _this$props.x1,\n xValue2 = _this$props.x2,\n yValue1 = _this$props.y1,\n yValue2 = _this$props.y2,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis;\n var scale = LabeledScaleHelper.create({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scale.x.apply(xValue1) : scale.x.rangeMin,\n y: hasY1 ? scale.y.apply(yValue1) : scale.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scale.x.apply(xValue2) : scale.x.rangeMax,\n y: hasY2 ? scale.y.apply(yValue2) : scale.y.rangeMax\n };\n\n if (ifOverflowMatches(this.props, 'discard') && (!scale.isInRange(p1) || !scale.isInRange(p2))) {\n return null;\n }\n\n return rectWithPoints(p1, p2);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n x1 = _this$props2.x1,\n x2 = _this$props2.x2,\n y1 = _this$props2.y1,\n y2 = _this$props2.y2,\n className = _this$props2.className,\n alwaysShow = _this$props2.alwaysShow,\n clipPathId = _this$props2.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = this.props.shape;\n\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n\n var rect = this.getRect(hasX1, hasX2, hasY1, hasY2);\n\n if (!rect && !shape) {\n return null;\n }\n\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-area', className)\n }, this.constructor.renderRect(shape, _objectSpread({\n clipPath: clipPath\n }, this.props, {}, rect)), Label.renderCallByParent(this.props, rect));\n }\n }], [{\n key: \"renderRect\",\n value: function renderRect(option, props) {\n var rect;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n\n return rect;\n }\n }]);\n\n return ReferenceArea;\n}(PureComponent);\n\nReferenceArea.displayName = 'ReferenceArea';\nReferenceArea.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n};\nexport default ReferenceArea;","import ReferenceDot from '../cartesian/ReferenceDot';\nimport ReferenceLine from '../cartesian/ReferenceLine';\nimport ReferenceArea from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine);\n var dots = findAllByType(children, ReferenceDot);\n var elements = lines.concat(dots);\n var areas = findAllByType(children, ReferenceArea);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n\n return result;\n }, finalDomain);\n }\n\n return finalDomain;\n};","import EventEmitter from 'events';\nvar eventCenter = new EventEmitter();\n\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\n\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents';","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _every from \"lodash/every\";\nimport _find from \"lodash/find\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isFunction from \"lodash/isFunction\";\nimport _range from \"lodash/range\";\nimport _throttle from \"lodash/throttle\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component, cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport Surface from '../container/Surface';\nimport Layer from '../container/Layer';\nimport Tooltip from '../component/Tooltip';\nimport Legend from '../component/Legend';\nimport Curve from '../shape/Curve';\nimport Cross from '../shape/Cross';\nimport Sector from '../shape/Sector';\nimport Dot from '../shape/Dot';\nimport Rectangle from '../shape/Rectangle';\nimport { findAllByType, findChildByType, getDisplayName, parseChildIndex, getPresentationAttributes, validateWidthHeight, isChildrenEqual, renderByOrder, getReactEventByType, filterEventAttributes } from '../util/ReactUtils';\nimport CartesianAxis from '../cartesian/CartesianAxis';\nimport Brush from '../cartesian/Brush';\nimport { getOffset, calculateChartCoordinate } from '../util/DOMUtils';\nimport { getAnyElementOfObject, hasDuplicate, uniqueId, isNumber, findEntryInArray } from '../util/DataUtils';\nimport { calculateActiveTickIndex, getMainColorOfGraphicItem, getBarSizeList, getBarPosition, appendOffsetOfLegend, getLegendProps, combineEventHandlers, getTicksOfAxis, getCoordinatesOfGrid, getStackedDataOfItem, parseErrorBarsOfAxis, getBandSizeOfAxis, getStackGroupsByAxisId, getValueByDataKey, isCategorialAxis, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getDomainOfDataByKey, parseSpecifiedDomain, parseDomainOfCategoryAxis } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n};\n\nvar generateCategoricalChart = function generateCategoricalChart(_ref) {\n var chartName = _ref.chartName,\n GraphicalChild = _ref.GraphicalChild,\n _ref$eventType = _ref.eventType,\n eventType = _ref$eventType === void 0 ? 'axis' : _ref$eventType,\n axisComponents = _ref.axisComponents,\n legendContent = _ref.legendContent,\n formatAxisMap = _ref.formatAxisMap,\n defaultProps = _ref.defaultProps,\n propTypes = _ref.propTypes;\n\n var CategoricalChartWrapper = /*#__PURE__*/function (_Component) {\n _inherits(CategoricalChartWrapper, _Component);\n /**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\n\n\n function CategoricalChartWrapper(_props) {\n var _this;\n\n _classCallCheck(this, CategoricalChartWrapper);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(CategoricalChartWrapper).call(this, _props));\n\n _this.handleLegendBBoxUpdate = function (box) {\n if (box && _this.legendInstance) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n\n _this.setState(_this.updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }));\n }\n };\n\n _this.handleReceiveSyncEvent = function (cId, chartId, data) {\n var _this$props = _this.props,\n syncId = _this$props.syncId,\n layout = _this$props.layout;\n var updateId = _this.state.updateId;\n\n if (syncId === cId && chartId !== _this.uniqueChartId) {\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n\n if (!_isNil(data.dataStartIndex) || !_isNil(data.dataEndIndex)) {\n _this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, _this.updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n })));\n } else if (!_isNil(data.activeTooltipIndex)) {\n var chartX = data.chartX,\n chartY = data.chartY,\n activeTooltipIndex = data.activeTooltipIndex;\n var _this$state2 = _this.state,\n offset = _this$state2.offset,\n tooltipTicks = _this$state2.tooltipTicks;\n\n if (!offset) {\n return;\n }\n\n var viewBox = _objectSpread({}, offset, {\n x: offset.left,\n y: offset.top\n }); // When a categotical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n\n\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n\n var activePayload = _this.getTooltipContent(activeTooltipIndex);\n\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n\n _this.setState(_objectSpread({}, data, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload\n }));\n } else {\n _this.setState(data);\n }\n }\n };\n\n _this.handleBrushChange = function (_ref2) {\n var startIndex = _ref2.startIndex,\n endIndex = _ref2.endIndex; // Only trigger changes if the extents of the brush have actually changed\n\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, _this.updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }));\n });\n\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n };\n\n _this.handleMouseEnter = function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var nextState = _objectSpread({}, mouse, {\n isTooltipActive: true\n });\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseEnter)) {\n onMouseEnter(nextState, e);\n }\n }\n };\n\n _this.triggeredAfterMouseMove = function (e) {\n var onMouseMove = _this.props.onMouseMove;\n\n var mouse = _this.getMouseInfo(e);\n\n var nextState = mouse ? _objectSpread({}, mouse, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n };\n\n _this.handleItemMouseEnter = function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n };\n\n _this.handleItemMouseLeave = function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n };\n\n _this.handleMouseMove = function (e) {\n if (e && _isFunction(e.persist)) {\n e.persist();\n }\n\n _this.triggeredAfterMouseMove(e);\n };\n\n _this.handleMouseLeave = function (e) {\n var onMouseLeave = _this.props.onMouseLeave;\n var nextState = {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n };\n\n _this.handleOuterEvent = function (e) {\n var eventName = getReactEventByType(e);\n\n if (eventName && _isFunction(_this.props[eventName])) {\n var mouse = _this.getMouseInfo(e);\n\n var handler = _this.props[eventName];\n handler(mouse, e);\n }\n };\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n\n if (_isFunction(onClick)) {\n var mouse = _this.getMouseInfo(e);\n\n onClick(mouse, e);\n }\n };\n\n _this.handleMouseDown = function (e) {\n var onMouseDown = _this.props.onMouseDown;\n\n if (_isFunction(onMouseDown)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseDown(mouse, e);\n }\n };\n\n _this.handleMouseUp = function (e) {\n var onMouseUp = _this.props.onMouseUp;\n\n if (_isFunction(onMouseUp)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseUp(mouse, e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseMove(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchStart = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchEnd = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n };\n\n _this.verticalCoordinatesGenerator = function (_ref3) {\n var xAxis = _ref3.xAxis,\n width = _ref3.width,\n height = _ref3.height,\n offset = _ref3.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread({}, CartesianAxis.defaultProps, {}, xAxis, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.left, offset.left + offset.width);\n };\n\n _this.horizontalCoordinatesGenerator = function (_ref4) {\n var yAxis = _ref4.yAxis,\n width = _ref4.width,\n height = _ref4.height,\n offset = _ref4.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread({}, CartesianAxis.defaultProps, {}, yAxis, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.top, offset.top + offset.height);\n };\n\n _this.axesTicksGenerator = function (axis) {\n return getTicksOfAxis(axis, true);\n };\n\n _this.tooltipTicksGenerator = function (axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: _sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis)\n };\n };\n\n _this.renderCursor = function (element) {\n var _this$state3 = _this.state,\n isTooltipActive = _this$state3.isTooltipActive,\n activeCoordinate = _this$state3.activeCoordinate,\n activePayload = _this$state3.activePayload,\n offset = _this$state3.offset;\n\n if (!element || !element.props.cursor || !isTooltipActive || !activeCoordinate) {\n return null;\n }\n\n var layout = _this.props.layout;\n var restProps;\n var cursorComp = Curve;\n\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = _this.getCursorRectangle();\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _this$getCursorPoints = _this.getCursorPoints(),\n cx = _this$getCursorPoints.cx,\n cy = _this$getCursorPoints.cy,\n radius = _this$getCursorPoints.radius,\n startAngle = _this$getCursorPoints.startAngle,\n endAngle = _this$getCursorPoints.endAngle;\n\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: _this.getCursorPoints()\n };\n cursorComp = Curve;\n }\n\n var key = element.key || '_recharts-cursor';\n\n var cursorProps = _objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset, {}, restProps, {}, getPresentationAttributes(element.props.cursor), {\n payload: activePayload,\n key: key,\n className: 'recharts-tooltip-cursor'\n });\n\n return /*#__PURE__*/isValidElement(element.props.cursor) ? /*#__PURE__*/cloneElement(element.props.cursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n };\n\n _this.renderPolarAxis = function (element, displayName, index) {\n var axisType = element.type.axisType;\n\n var axisMap = _this.state[\"\".concat(axisType, \"Map\")];\n\n var axisOption = axisMap[element.props[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread({}, axisOption, {\n className: axisType,\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n };\n\n _this.renderXAxis = function (element, displayName, index) {\n var xAxisMap = _this.state.xAxisMap;\n var axisObj = xAxisMap[element.props.xAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderYAxis = function (element, displayName, index) {\n var yAxisMap = _this.state.yAxisMap;\n var axisObj = yAxisMap[element.props.yAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderGrid = function (element) {\n var _this$state4 = _this.state,\n xAxisMap = _this$state4.xAxisMap,\n yAxisMap = _this$state4.yAxisMap,\n offset = _this$state4.offset;\n var _this$props2 = _this.props,\n width = _this$props2.width,\n height = _this$props2.height;\n var xAxis = getAnyElementOfObject(xAxisMap);\n\n var yAxisWithFiniteDomain = _find(yAxisMap, function (axis) {\n return _every(axis.domain, Number.isFinite);\n });\n\n var yAxis = yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n var props = element.props || {};\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || 'grid',\n x: isNumber(props.x) ? props.x : offset.left,\n y: isNumber(props.y) ? props.y : offset.top,\n width: isNumber(props.width) ? props.width : offset.width,\n height: isNumber(props.height) ? props.height : offset.height,\n xAxis: xAxis,\n yAxis: yAxis,\n offset: offset,\n chartWidth: width,\n chartHeight: height,\n verticalCoordinatesGenerator: props.verticalCoordinatesGenerator || _this.verticalCoordinatesGenerator,\n horizontalCoordinatesGenerator: props.horizontalCoordinatesGenerator || _this.horizontalCoordinatesGenerator\n });\n };\n\n _this.renderPolarGrid = function (element) {\n var _this$state5 = _this.state,\n radiusAxisMap = _this$state5.radiusAxisMap,\n angleAxisMap = _this$state5.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid'\n });\n };\n\n _this.renderBrush = function (element) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n data = _this$props3.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId; // TODO: update brush when children update\n\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, null, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n };\n\n _this.renderReferenceElement = function (element, displayName, index) {\n if (!element) {\n return null;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n clipPathId = _assertThisInitialize.clipPathId;\n\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var _element$props = element.props,\n xAxisId = _element$props.xAxisId,\n yAxisId = _element$props.yAxisId;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n };\n\n _this.renderGraphicChild = function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n\n if (!item) {\n return null;\n }\n\n var graphicalItem = /*#__PURE__*/cloneElement(element, item.props);\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n var _item$props = item.props,\n points = _item$props.points,\n isRange = _item$props.isRange,\n baseLine = _item$props.baseLine;\n var _item$item$props = item.item.props,\n activeDot = _item$item$props.activeDot,\n hide = _item$item$props.hide;\n var hasActive = !hide && isTooltipActive && tooltipItem && activeDot && activeTooltipIndex >= 0;\n\n function findWithPayload(entry) {\n return tooltipAxis.dataKey(entry.payload);\n }\n\n if (hasActive) {\n var activePoint, basePoint;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey);\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n\n if (!_isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n }\n\n if (isRange) {\n return [graphicalItem, null, null];\n }\n\n return [graphicalItem, null];\n };\n\n _this.renderCustomized = function (element) {\n return /*#__PURE__*/cloneElement(element, _objectSpread({}, _this.props, {}, _this.state));\n };\n\n var defaultState = _this.constructor.createDefaultState(_props);\n\n var _updateId = 0;\n _this.state = _objectSpread({}, defaultState, {\n updateId: 0\n }, _this.updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: _props\n }, defaultState, {\n updateId: _updateId\n })));\n _this.uniqueChartId = _isNil(_props.id) ? uniqueId('recharts') : _props.id;\n _this.clipPathId = \"\".concat(_this.uniqueChartId, \"-clip\");\n\n if (_props.throttleDelay) {\n _this.triggeredAfterMouseMove = _throttle(_this.triggeredAfterMouseMove, _props.throttleDelay);\n }\n\n return _this;\n }\n /* eslint-disable react/no-did-mount-set-state */\n\n\n _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_isNil(this.props.syncId)) {\n this.addListener();\n }\n } // eslint-disable-next-line camelcase\n\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var _this$props4 = this.props,\n data = _this$props4.data,\n children = _this$props4.children,\n width = _this$props4.width,\n height = _this$props4.height,\n layout = _this$props4.layout,\n stackOffset = _this$props4.stackOffset,\n margin = _this$props4.margin;\n var updateId = this.state.updateId;\n\n if (nextProps.data !== data || nextProps.width !== width || nextProps.height !== height || nextProps.layout !== layout || nextProps.stackOffset !== stackOffset || !shallowEqual(nextProps.margin, margin)) {\n var defaultState = this.constructor.createDefaultState(nextProps);\n this.setState(_objectSpread({}, defaultState, {\n updateId: updateId + 1\n }, this.updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, defaultState, {\n updateId: updateId + 1\n }))));\n } else if (!isChildrenEqual(nextProps.children, children)) {\n // update configuration in chilren\n var hasGlobalData = !_isNil(nextProps.data);\n var newUpdateId = hasGlobalData ? updateId : updateId + 1;\n this.setState(function (prevState) {\n return _objectSpread({\n updateId: newUpdateId\n }, _this2.updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, prevState, {\n updateId: newUpdateId\n })));\n });\n } // add syncId\n\n\n if (_isNil(this.props.syncId) && !_isNil(nextProps.syncId)) {\n this.addListener();\n } // remove syncId\n\n\n if (!_isNil(this.props.syncId) && _isNil(nextProps.syncId)) {\n this.removeListener();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_isNil(this.props.syncId)) {\n this.removeListener();\n }\n\n if (typeof this.triggeredAfterMouseMove.cancel === 'function') {\n this.triggeredAfterMouseMove.cancel();\n }\n }\n /**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n }, {\n key: \"getAxisMap\",\n value: function getAxisMap(props, _ref5) {\n var _ref5$axisType = _ref5.axisType,\n axisType = _ref5$axisType === void 0 ? 'xAxis' : _ref5$axisType,\n AxisComp = _ref5.AxisComp,\n graphicalItems = _ref5.graphicalItems,\n stackGroups = _ref5.stackGroups,\n dataStartIndex = _ref5.dataStartIndex,\n dataEndIndex = _ref5.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\"); // Get all the instance of Axis\n\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n\n if (axes && axes.length) {\n axisMap = this.getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = this.getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n\n return axisMap;\n }\n /**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n }, {\n key: \"getAxisMapByAxes\",\n value: function getAxisMapByAxes(props, _ref6) {\n var _this3 = this;\n\n var axes = _ref6.axes,\n graphicalItems = _ref6.graphicalItems,\n axisType = _ref6.axisType,\n axisIdKey = _ref6.axisIdKey,\n stackGroups = _ref6.stackGroups,\n dataStartIndex = _ref6.dataStartIndex,\n dataEndIndex = _ref6.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorial = isCategorialAxis(layout, axisType); // Eliminate duplicated axes\n\n var axisMap = axes.reduce(function (result, child) {\n var _child$props = child.props,\n type = _child$props.type,\n dataKey = _child$props.dataKey,\n allowDataOverflow = _child$props.allowDataOverflow,\n allowDuplicatedCategory = _child$props.allowDuplicatedCategory,\n scale = _child$props.scale,\n ticks = _child$props.ticks;\n var axisId = child.props[axisIdKey];\n\n var displayedData = _this3.constructor.getDisplayedData(props, {\n graphicalItems: graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n\n var len = displayedData.length;\n\n if (!result[axisId]) {\n var domain, duplicateDomain, categoricalDomain;\n\n if (dataKey) {\n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n\n if (type === 'category' && isCategorial) {\n var duplicate = hasDuplicate(domain);\n\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain; // When category axis has duplicated text, serial numbers are used to generate scale\n\n domain = _range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || _isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !_isNil(entry);\n });\n }\n } else if (type === 'number') {\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), dataKey, axisType);\n\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n\n if (isCategorial && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorial) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), type, true);\n }\n\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n\n if (child.props.domain) {\n domain = parseSpecifiedDomain(child.props.domain, domain, allowDataOverflow);\n }\n }\n\n return _objectSpread({}, result, _defineProperty({}, axisId, _objectSpread({}, child.props, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: child.props.domain,\n isCategorial: isCategorial,\n layout: layout\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n }\n /**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n }, {\n key: \"getAxisMapByItems\",\n value: function getAxisMapByItems(props, _ref7) {\n var graphicalItems = _ref7.graphicalItems,\n Axis = _ref7.Axis,\n axisType = _ref7.axisType,\n axisIdKey = _ref7.axisIdKey,\n stackGroups = _ref7.stackGroups,\n dataStartIndex = _ref7.dataStartIndex,\n dataEndIndex = _ref7.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = this.constructor.getDisplayedData(props, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorial = isCategorialAxis(layout, axisType);\n var index = -1; // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n\n var axisMap = graphicalItems.reduce(function (result, child) {\n var axisId = child.props[axisIdKey];\n\n if (!result[axisId]) {\n index++;\n var domain;\n\n if (isCategorial) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(Axis.defaultProps.domain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), 'number'), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n\n return _objectSpread({}, result, _defineProperty({}, axisId, _objectSpread({\n axisType: axisType\n }, Axis.defaultProps, {\n hide: true,\n orientation: ORIENT_MAP[axisType] && ORIENT_MAP[axisType][index % 2],\n domain: domain,\n originalDomain: Axis.defaultProps.domain,\n isCategorial: isCategorial,\n layout: layout // specify scale when no Axis\n // scale: isCategorial ? 'band' : 'linear',\n\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n }\n }, {\n key: \"getActiveCoordinate\",\n value: function getActiveCoordinate(tooltipTicks, activeIndex, rangeObj) {\n var layout = this.props.layout;\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread({}, rangeObj, {}, polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle), {\n angle: _angle,\n radius: _radius\n });\n }\n\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread({}, rangeObj, {}, polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle), {\n angle: angle,\n radius: radius\n });\n }\n\n return originCoordinate;\n }\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {Object} event The event object\n * @return {Object} Mouse data\n */\n\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n\n var containerOffset = getOffset(this.container);\n var e = calculateChartCoordinate(event, containerOffset);\n var rangeObj = this.inRange(e.chartX, e.chartY);\n\n if (!rangeObj) {\n return null;\n }\n\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n\n if (eventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread({}, e, {\n xValue: xValue,\n yValue: yValue\n });\n }\n\n var _this$state10 = this.state,\n ticks = _this$state10.orderedTooltipTicks,\n axis = _this$state10.tooltipAxis,\n tooltipTicks = _this$state10.tooltipTicks;\n var pos = this.calculateTooltipPos(rangeObj);\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = this.getTooltipContent(activeIndex, activeLabel);\n var activeCoordinate = this.getActiveCoordinate(ticks, activeIndex, rangeObj);\n return _objectSpread({}, e, {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n });\n }\n\n return null;\n }\n /**\n * Get the content to be displayed in the tooltip\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\n\n }, {\n key: \"getTooltipContent\",\n value: function getTooltipContent(activeIndex, activeLabel) {\n var _this$state11 = this.state,\n graphicalItems = _this$state11.graphicalItems,\n tooltipAxis = _this$state11.tooltipAxis;\n var displayedData = this.constructor.getDisplayedData(this.props, this.state);\n\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n } // get data by activeIndex when the axis don't allow duplicated category\n\n\n return graphicalItems.reduce(function (result, child) {\n var hide = child.props.hide;\n\n if (hide) {\n return result;\n }\n\n var _child$props2 = child.props,\n dataKey = _child$props2.dataKey,\n name = _child$props2.name,\n unit = _child$props2.unit,\n formatter = _child$props2.formatter,\n data = _child$props2.data,\n tooltipType = _child$props2.tooltipType;\n var payload;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n payload = findEntryInArray(data || displayedData, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n\n if (!payload) {\n return result;\n }\n\n return [].concat(_toConsumableArray(result), [_objectSpread({}, getPresentationAttributes(child), {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(child),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload\n })]);\n }, []);\n }\n }, {\n key: \"getFormatItems\",\n value: function getFormatItems(props, currentState) {\n var _this4 = this;\n\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n\n var _this$constructor$get = this.constructor.getAxisNameByLayout(layout),\n numericAxisName = _this$constructor$get.numericAxisName,\n cateAxisName = _this$constructor$get.cateAxisName;\n\n var hasBar = this.constructor.hasBar(graphicalItems);\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups\n });\n var formatedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = _this4.constructor.getDisplayedData(props, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, item);\n\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n childMaxBarSize = _item$props2.maxBarSize;\n var numericAxisId = item.props[\"\".concat(numericAxisName, \"Id\")];\n var cateAxisId = item.props[\"\".concat(cateAxisName, \"Id\")];\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _objectSpread4;\n\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n var id = item.props[\"\".concat(entry.axisType, \"Id\")];\n var axis = axisMap && axisMap[id];\n return _objectSpread({}, result, (_objectSpread4 = {}, _defineProperty(_objectSpread4, entry.axisType, axis), _defineProperty(_objectSpread4, \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)), _objectSpread4));\n }, {});\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var maxBarSize = _isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barPosition = hasBar && getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n var componsedFn = item && item.type && item.type.getComposedData;\n\n if (componsedFn) {\n var _objectSpread5;\n\n formatedItems.push({\n props: _objectSpread({}, componsedFn(_objectSpread({}, axisObj, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n onItemMouseLeave: combineEventHandlers(_this4.handleItemMouseLeave, null, item.props.onMouseLeave),\n onItemMouseEnter: combineEventHandlers(_this4.handleItemMouseEnter, null, item.props.onMouseEnter)\n })), (_objectSpread5 = {\n key: item.key || \"item-\".concat(index)\n }, _defineProperty(_objectSpread5, numericAxisName, axisObj[numericAxisName]), _defineProperty(_objectSpread5, cateAxisName, axisObj[cateAxisName]), _defineProperty(_objectSpread5, \"animationId\", updateId), _objectSpread5)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formatedItems;\n }\n }, {\n key: \"getCursorRectangle\",\n value: function getCursorRectangle() {\n var layout = this.props.layout;\n var _this$state12 = this.state,\n activeCoordinate = _this$state12.activeCoordinate,\n offset = _this$state12.offset,\n tooltipAxisBandSize = _this$state12.tooltipAxisBandSize;\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n }\n }, {\n key: \"getCursorPoints\",\n value: function getCursorPoints() {\n var layout = this.props.layout;\n var _this$state13 = this.state,\n activeCoordinate = _this$state13.activeCoordinate,\n offset = _this$state13.offset;\n var x1, y1, x2, y2;\n\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (!_isNil(activeCoordinate.cx) || !_isNil(activeCoordinate.cy)) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n var _cx = activeCoordinate.cx,\n _cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(_cx, _cy, radius, startAngle);\n var endPoint = polarToCartesian(_cx, _cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: _cx,\n cy: _cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n }\n\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n }\n }, {\n key: \"calculateTooltipPos\",\n value: function calculateTooltipPos(rangeObj) {\n var layout = this.props.layout;\n\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n\n return rangeObj.radius;\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var layout = this.props.layout;\n\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = x >= offset.left && x <= offset.left + offset.width && y >= offset.top && y <= offset.top + offset.height;\n return isInRange ? {\n x: x,\n y: y\n } : null;\n }\n\n var _this$state14 = this.state,\n angleAxisMap = _this$state14.angleAxisMap,\n radiusAxisMap = _this$state14.radiusAxisMap;\n\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: x,\n y: y\n }, angleAxis);\n }\n\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n var tooltipEvents = tooltipItem && eventType === 'axis' ? {\n onMouseEnter: this.handleMouseEnter,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n } : {};\n var outerEvents = filterEventAttributes(this.props, this.handleOuterEvent);\n return _objectSpread({}, outerEvents, {}, tooltipEvents);\n }\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @param {Number} updateId The update id\n * @return {Object} state New state to set\n */\n\n }, {\n key: \"updateStateOfAxisMapsOffsetAndStackGroups\",\n value: function updateStateOfAxisMapsOffsetAndStackGroups(_ref8) {\n var _this5 = this;\n\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n\n var _this$constructor$get2 = this.constructor.getAxisNameByLayout(layout),\n numericAxisName = _this$constructor$get2.numericAxisName,\n cateAxisName = _this$constructor$get2.cateAxisName;\n\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread({}, result, _defineProperty({}, name, _this5.getAxisMap(props, _objectSpread({}, entry, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = this.calculateOffset(_objectSpread({}, axisObj, {\n props: props,\n graphicalItems: graphicalItems\n }));\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = this.tooltipTicksGenerator(cateAxisMap);\n var formatedGraphicalItems = this.getFormatItems(props, _objectSpread({}, axisObj, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread({\n formatedGraphicalItems: formatedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj, {}, axisObj);\n }\n /* eslint-disable no-underscore-dangle */\n\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners + 1);\n }\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners - 1);\n }\n }\n /**\n * Calculate the offset of main part in the svg element\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {Object} xAxisMap The configuration of x-axis\n * @param {Object} yAxisMap The configuration of y-axis\n * @return {Object} The offset of main part in the svg element\n */\n\n }, {\n key: \"calculateOffset\",\n value: function calculateOffset(_ref9) {\n var props = _ref9.props,\n graphicalItems = _ref9.graphicalItems,\n _ref9$xAxisMap = _ref9.xAxisMap,\n xAxisMap = _ref9$xAxisMap === void 0 ? {} : _ref9$xAxisMap,\n _ref9$yAxisMap = _ref9.yAxisMap,\n yAxisMap = _ref9$yAxisMap === void 0 ? {} : _ref9$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush);\n var legendItem = findChildByType(children, Legend);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread({}, result, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread({}, result, _defineProperty({}, orientation, result[orientation] + entry.height));\n }\n\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n\n var offset = _objectSpread({}, offsetV, {}, offsetH);\n\n var brushBottom = offset.bottom;\n\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n\n if (legendItem && this.legendInstance) {\n var legendBox = this.legendInstance.getBBox();\n offset = appendOffsetOfLegend(offset, graphicalItems, props, legendBox);\n }\n\n return _objectSpread({\n brushBottom: brushBottom\n }, offset, {\n width: width - offset.left - offset.right,\n height: height - offset.top - offset.bottom\n });\n }\n }, {\n key: \"triggerSyncEvent\",\n value: function triggerSyncEvent(data) {\n var syncId = this.props.syncId;\n\n if (!_isNil(syncId)) {\n eventCenter.emit(SYNC_EVENT, syncId, this.uniqueChartId, data);\n }\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formatedGraphicalItems = this.state.formatedGraphicalItems;\n\n for (var i = 0, len = formatedGraphicalItems.length; i < len; i++) {\n var entry = formatedGraphicalItems[i];\n\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n\n return null;\n }\n }, {\n key: \"renderAxis\",\n\n /**\n * Draw axis\n * @param {Object} axisOptions The options of axis\n * @param {Object} element The axis element\n * @param {String} displayName The display name of axis\n * @param {Number} index The index of element\n * @return {ReactElement} The instance of x-axes\n */\n value: function renderAxis(axisOptions, element, displayName, index) {\n var _this$props5 = this.props,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: \"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: this.axesTicksGenerator\n }));\n }\n /**\n * Draw grid\n * @param {ReactElement} element the grid item\n * @return {ReactElement} The instance of grid\n */\n\n }, {\n key: \"renderLegend\",\n\n /**\n * Draw legend\n * @return {ReactElement} The instance of Legend\n */\n value: function renderLegend() {\n var _this6 = this;\n\n var formatedGraphicalItems = this.state.formatedGraphicalItems;\n var _this$props6 = this.props,\n children = _this$props6.children,\n width = _this$props6.width,\n height = _this$props6.height;\n var margin = this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n var props = getLegendProps({\n children: children,\n formatedGraphicalItems: formatedGraphicalItems,\n legendWidth: legendWidth,\n legendHeight: legendHeight,\n legendContent: legendContent\n });\n\n if (!props) {\n return null;\n }\n\n var item = props.item,\n otherProps = _objectWithoutProperties(props, [\"item\"]);\n\n return /*#__PURE__*/cloneElement(item, _objectSpread({}, otherProps, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n ref: function ref(legend) {\n _this6.legendInstance = legend;\n },\n onBBoxUpdate: this.handleLegendBBoxUpdate\n }));\n }\n /**\n * Draw Tooltip\n * @return {ReactElement} The instance of Tooltip\n */\n\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n var children = this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n\n if (!tooltipItem) {\n return null;\n }\n\n var _this$state15 = this.state,\n isTooltipActive = _this$state15.isTooltipActive,\n activeCoordinate = _this$state15.activeCoordinate,\n activePayload = _this$state15.activePayload,\n activeLabel = _this$state15.activeLabel,\n offset = _this$state15.offset;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread({}, offset, {\n x: offset.left,\n y: offset.top\n }),\n active: isTooltipActive,\n label: activeLabel,\n payload: isTooltipActive ? activePayload : [],\n coordinate: activeCoordinate\n });\n }\n }, {\n key: \"renderActivePoints\",\n value: function renderActivePoints(_ref10) {\n var item = _ref10.item,\n activePoint = _ref10.activePoint,\n basePoint = _ref10.basePoint,\n childIndex = _ref10.childIndex,\n isRange = _ref10.isRange;\n var result = [];\n var key = item.props.key;\n var _item$item$props2 = item.item.props,\n activeDot = _item$item$props2.activeDot,\n dataKey = _item$item$props2.dataKey;\n\n var dotProps = _objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value,\n key: \"\".concat(key, \"-activePoint-\").concat(childIndex)\n }, getPresentationAttributes(activeDot), {}, filterEventAttributes(activeDot));\n\n result.push(this.constructor.renderActiveDot(activeDot, dotProps, childIndex));\n\n if (basePoint) {\n result.push(this.constructor.renderActiveDot(activeDot, _objectSpread({}, dotProps, {\n cx: basePoint.x,\n cy: basePoint.y,\n key: \"\".concat(key, \"-basePoint-\").concat(childIndex)\n }), childIndex));\n } else if (isRange) {\n result.push(null);\n }\n\n return result;\n }\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this7 = this;\n\n if (!validateWidthHeight(this)) {\n return null;\n }\n\n var _this$props7 = this.props,\n children = _this$props7.children,\n className = _this$props7.className,\n width = _this$props7.width,\n height = _this$props7.height,\n style = _this$props7.style,\n compact = _this$props7.compact,\n others = _objectWithoutProperties(_this$props7, [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\"]);\n\n var attrs = getPresentationAttributes(others);\n var map = {\n CartesianGrid: {\n handler: this.renderGrid,\n once: true\n },\n ReferenceArea: {\n handler: this.renderReferenceElement\n },\n ReferenceLine: {\n handler: this.renderReferenceElement\n },\n ReferenceDot: {\n handler: this.renderReferenceElement\n },\n XAxis: {\n handler: this.renderXAxis\n },\n YAxis: {\n handler: this.renderYAxis\n },\n Brush: {\n handler: this.renderBrush,\n once: true\n },\n Bar: {\n handler: this.renderGraphicChild\n },\n Line: {\n handler: this.renderGraphicChild\n },\n Area: {\n handler: this.renderGraphicChild\n },\n Radar: {\n handler: this.renderGraphicChild\n },\n RadialBar: {\n handler: this.renderGraphicChild\n },\n Scatter: {\n handler: this.renderGraphicChild\n },\n Pie: {\n handler: this.renderGraphicChild\n },\n Funnel: {\n handler: this.renderGraphicChild\n },\n Tooltip: {\n handler: this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: this.renderPolarAxis\n },\n Customized: {\n handler: this.renderCustomized\n }\n }; // The \"compact\" mode is mainly used as the panorama within Brush\n\n if (compact) {\n return /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map));\n }\n\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this7.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map)), this.renderLegend(), this.renderTooltip());\n }\n }], [{\n key: \"getAxisNameByLayout\",\n value: function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n }\n }, {\n key: \"renderActiveDot\",\n value: function renderActiveDot(option, props) {\n var dot;\n\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: props.key\n }, dot);\n }\n }]);\n\n return CategoricalChartWrapper;\n }(Component);\n\n CategoricalChartWrapper.displayName = chartName;\n CategoricalChartWrapper.defaultProps = _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false\n }, defaultProps);\n\n CategoricalChartWrapper.createDefaultState = function (props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush);\n var startIndex = brushItem && brushItem.props && brushItem.props.startIndex || 0;\n var endIndex = brushItem && brushItem.props && brushItem.props.endIndex || props.data && props.data.length - 1 || 0;\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: !_isNil(defaultShowTooltip) ? defaultShowTooltip : false\n };\n };\n\n CategoricalChartWrapper.hasBar = function (graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n };\n\n CategoricalChartWrapper.getDisplayedData = function (props, _ref11, item) {\n var graphicalItems = _ref11.graphicalItems,\n dataStartIndex = _ref11.dataStartIndex,\n dataEndIndex = _ref11.dataEndIndex;\n var itemsData = (graphicalItems || []).reduce(function (result, child) {\n var itemData = child.props.data;\n\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n\n return result;\n }, []);\n\n if (itemsData && itemsData.length > 0) {\n return itemsData;\n }\n\n if (item && item.props && item.props.data && item.props.data.length > 0) {\n return item.props.data;\n }\n\n var data = props.data;\n\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n\n return [];\n };\n\n return CategoricalChartWrapper;\n};\n\nexport default generateCategoricalChart;","/**\n * @fileOverview Bar Chart\n */\nimport generateCategoricalChart from './generateCategoricalChart';\nimport Bar from '../cartesian/Bar';\nimport XAxis from '../cartesian/XAxis';\nimport YAxis from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport default generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Polygon\n */\n\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { getPresentationAttributes, filterEventAttributes } from '../util/ReactUtils';\n\nvar getPolygonPoints = function getPolygonPoints(points) {\n return points.reduce(function (result, entry) {\n if (entry.x === +entry.x && entry.y === +entry.y) {\n result.push([entry.x, entry.y]);\n }\n\n return result;\n }, []).join(' ');\n};\n\nvar Polygon = /*#__PURE__*/function (_PureComponent) {\n _inherits(Polygon, _PureComponent);\n\n function Polygon() {\n _classCallCheck(this, Polygon);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Polygon).apply(this, arguments));\n }\n\n _createClass(Polygon, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n points = _this$props.points,\n className = _this$props.className;\n\n if (!points || !points.length) {\n return null;\n }\n\n var layerClass = classNames('recharts-polygon', className);\n return /*#__PURE__*/React.createElement(\"polygon\", _extends({}, getPresentationAttributes(this.props), filterEventAttributes(this.props), {\n className: layerClass,\n points: getPolygonPoints(points)\n }));\n }\n }]);\n\n return Polygon;\n}(PureComponent);\n\nPolygon.displayName = 'Polygon';\nexport default Polygon;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview Axis of radial direction\n */\n\n\nimport React, { PureComponent } from 'react';\nimport Layer from '../container/Layer';\nimport { getPresentationAttributes, filterEventsOfChild } from '../util/ReactUtils';\nimport Dot from '../shape/Dot';\nimport Polygon from '../shape/Polygon';\nimport Text from '../component/Text';\nimport { polarToCartesian } from '../util/PolarUtils';\nvar RADIAN = Math.PI / 180;\nvar eps = 1e-5;\n\nvar PolarAngleAxis = /*#__PURE__*/function (_PureComponent) {\n _inherits(PolarAngleAxis, _PureComponent);\n\n function PolarAngleAxis() {\n _classCallCheck(this, PolarAngleAxis);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PolarAngleAxis).apply(this, arguments));\n }\n\n _createClass(PolarAngleAxis, [{\n key: \"getTickLineCoord\",\n\n /**\n * Calculate the coordinate of line endpoint\n * @param {Object} data The Data if ticks\n * @return {Object} (x0, y0): The start point of text,\n * (x1, y1): The end point close to text,\n * (x2, y2): The end point close to axis\n */\n value: function getTickLineCoord(data) {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n radius = _this$props.radius,\n orientation = _this$props.orientation,\n tickLine = _this$props.tickLine;\n var tickLineSize = tickLine && tickLine.size || 8;\n var p1 = polarToCartesian(cx, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx, cy, radius + (orientation === 'inner' ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n }\n /**\n * Get the text-anchor of each tick\n * @param {Object} data Data of ticks\n * @return {String} text-anchor\n */\n\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor(data) {\n var orientation = this.props.orientation;\n var cos = Math.cos(-data.coordinate * RADIAN);\n var textAnchor;\n\n if (cos > eps) {\n textAnchor = orientation === 'outer' ? 'start' : 'end';\n } else if (cos < -eps) {\n textAnchor = orientation === 'outer' ? 'end' : 'start';\n } else {\n textAnchor = 'middle';\n }\n\n return textAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n radius = _this$props2.radius,\n axisLine = _this$props2.axisLine,\n axisLineType = _this$props2.axisLineType;\n\n var props = _objectSpread({}, getPresentationAttributes(this.props), {\n fill: 'none'\n }, getPresentationAttributes(axisLine));\n\n if (axisLineType === 'circle') {\n return /*#__PURE__*/React.createElement(Dot, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n cx: cx,\n cy: cy,\n r: radius\n }));\n }\n\n var ticks = this.props.ticks;\n var points = ticks.map(function (entry) {\n return polarToCartesian(cx, cy, radius, entry.coordinate);\n });\n return /*#__PURE__*/React.createElement(Polygon, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n points: points\n }));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n\n var _this$props3 = this.props,\n ticks = _this$props3.ticks,\n tick = _this$props3.tick,\n tickLine = _this$props3.tickLine,\n tickFormatter = _this$props3.tickFormatter,\n stroke = _this$props3.stroke;\n var axisProps = getPresentationAttributes(this.props);\n var customTickProps = getPresentationAttributes(tick);\n\n var tickLineProps = _objectSpread({}, axisProps, {\n fill: 'none'\n }, getPresentationAttributes(tickLine));\n\n var items = ticks.map(function (entry, i) {\n var lineCoord = _this.getTickLineCoord(entry);\n\n var textAnchor = _this.getTickTextAnchor(entry);\n\n var tickProps = _objectSpread({\n textAnchor: textAnchor\n }, axisProps, {\n stroke: 'none',\n fill: stroke\n }, customTickProps, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-polar-angle-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, filterEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), tick && _this.constructor.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n radius = _this$props4.radius,\n axisLine = _this$props4.axisLine;\n\n if (radius <= 0 || !ticks || !ticks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-angle-axis\"\n }, axisLine && this.renderAxisLine(), this.renderTicks());\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-angle-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return PolarAngleAxis;\n}(PureComponent);\n\nPolarAngleAxis.displayName = 'PolarAngleAxis';\nPolarAngleAxis.axisType = 'angleAxis';\nPolarAngleAxis.defaultProps = {\n type: 'category',\n angleAxisId: 0,\n scale: 'auto',\n cx: 0,\n cy: 0,\n domain: [0, 'auto'],\n orientation: 'outer',\n axisLine: true,\n tickLine: true,\n tick: true,\n hide: false,\n allowDuplicatedCategory: true\n};\nexport default PolarAngleAxis;","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _minBy from \"lodash/minBy\";\nimport _maxBy from \"lodash/maxBy\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n/**\n * @fileOverview The axis of polar coordinate system\n */\n\n\nimport React, { PureComponent } from 'react';\nimport Text from '../component/Text';\nimport Label from '../component/Label';\nimport Layer from '../container/Layer';\nimport { getPresentationAttributes, filterEventsOfChild } from '../util/ReactUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\n\nvar PolarRadiusAxis = /*#__PURE__*/function (_PureComponent) {\n _inherits(PolarRadiusAxis, _PureComponent);\n\n function PolarRadiusAxis() {\n _classCallCheck(this, PolarRadiusAxis);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PolarRadiusAxis).apply(this, arguments));\n }\n\n _createClass(PolarRadiusAxis, [{\n key: \"getTickValueCoord\",\n\n /**\n * Calculate the coordinate of tick\n * @param {Number} coordinate The radius of tick\n * @return {Object} (x, y)\n */\n value: function getTickValueCoord(_ref) {\n var coordinate = _ref.coordinate;\n var _this$props = this.props,\n angle = _this$props.angle,\n cx = _this$props.cx,\n cy = _this$props.cy;\n return polarToCartesian(cx, cy, coordinate, angle);\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var orientation = this.props.orientation;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = 'end';\n break;\n\n case 'right':\n textAnchor = 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getViewBox\",\n value: function getViewBox() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n angle = _this$props2.angle,\n ticks = _this$props2.ticks;\n\n var maxRadiusTick = _maxBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n\n var minRadiusTick = _minBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n\n return {\n cx: cx,\n cy: cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: minRadiusTick.coordinate || 0,\n outerRadius: maxRadiusTick.coordinate || 0\n };\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props3 = this.props,\n cx = _this$props3.cx,\n cy = _this$props3.cy,\n angle = _this$props3.angle,\n ticks = _this$props3.ticks,\n axisLine = _this$props3.axisLine,\n others = _objectWithoutProperties(_this$props3, [\"cx\", \"cy\", \"angle\", \"ticks\", \"axisLine\"]);\n\n var extent = ticks.reduce(function (result, entry) {\n return [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)];\n }, [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx, cy, extent[0], angle);\n var point1 = polarToCartesian(cx, cy, extent[1], angle);\n\n var props = _objectSpread({}, getPresentationAttributes(others), {\n fill: 'none'\n }, getPresentationAttributes(axisLine), {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-radius-axis-line\"\n }, props));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n tick = _this$props4.tick,\n angle = _this$props4.angle,\n tickFormatter = _this$props4.tickFormatter,\n stroke = _this$props4.stroke,\n others = _objectWithoutProperties(_this$props4, [\"ticks\", \"tick\", \"angle\", \"tickFormatter\", \"stroke\"]);\n\n var textAnchor = this.getTickTextAnchor();\n var axisProps = getPresentationAttributes(others);\n var customTickProps = getPresentationAttributes(tick);\n var items = ticks.map(function (entry, i) {\n var coord = _this.getTickValueCoord(entry);\n\n var tickProps = _objectSpread({\n textAnchor: textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps, {\n stroke: 'none',\n fill: stroke\n }, customTickProps, {\n index: i\n }, coord, {\n payload: entry\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-polar-radius-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, filterEventsOfChild(_this.props, entry, i)), _this.constructor.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n ticks = _this$props5.ticks,\n axisLine = _this$props5.axisLine,\n tick = _this$props5.tick;\n\n if (!ticks || !ticks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-radius-axis\"\n }, axisLine && this.renderAxisLine(), tick && this.renderTicks(), Label.renderCallByParent(this.props, this.getViewBox()));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-polar-radius-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return PolarRadiusAxis;\n}(PureComponent);\n\nPolarRadiusAxis.displayName = 'PolarRadiusAxis';\nPolarRadiusAxis.axisType = 'radiusAxis';\nPolarRadiusAxis.defaultProps = {\n type: 'number',\n radiusAxisId: 0,\n cx: 0,\n cy: 0,\n angle: 0,\n orientation: 'right',\n stroke: '#ccc',\n axisLine: true,\n tick: true,\n tickCount: 5,\n domain: [0, 'auto'],\n allowDataOverflow: false,\n scale: 'auto',\n allowDuplicatedCategory: true\n};\nexport default PolarRadiusAxis;","/**\n * @fileOverview Pie Chart\n */\nimport PropTypes from 'prop-types';\nimport generateCategoricalChart from './generateCategoricalChart';\nimport PolarAngleAxis from '../polar/PolarAngleAxis';\nimport PolarRadiusAxis from '../polar/PolarRadiusAxis';\nimport { formatAxisMap } from '../util/PolarUtils';\nimport Pie from '../polar/Pie';\nexport default generateCategoricalChart({\n chartName: 'PieChart',\n GraphicalChild: Pie,\n eventType: 'item',\n legendContent: 'children',\n axisComponents: [{\n axisType: 'angleAxis',\n AxisComp: PolarAngleAxis\n }, {\n axisType: 'radiusAxis',\n AxisComp: PolarRadiusAxis\n }],\n formatAxisMap: formatAxisMap,\n defaultProps: {\n layout: 'centric',\n startAngle: 0,\n endAngle: 360,\n cx: '50%',\n cy: '50%',\n innerRadius: 0,\n outerRadius: '80%'\n },\n propTypes: {\n layout: PropTypes.oneOf(['centric']),\n startAngle: PropTypes.number,\n endAngle: PropTypes.number,\n cx: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cy: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n innerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n outerRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n }\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useIsomorphicLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\nvar $node = Symbol[\"for\"]('Animated:node');\n\nvar isAnimated = function isAnimated(value) {\n return !!value && value[$node] === value;\n};\n\nvar getAnimated = function getAnimated(owner) {\n return owner && owner[$node];\n};\n\nvar setAnimated = function setAnimated(owner, node) {\n return defineHidden(owner, $node, node);\n};\n\nvar getPayload = function getPayload(owner) {\n return owner && owner[$node] && owner[$node].getPayload();\n};\n\nvar Animated = /*#__PURE__*/function () {\n function Animated() {\n _classCallCheck(this, Animated);\n\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n _createClass(Animated, [{\n key: \"getPayload\",\n value: function getPayload() {\n return this.payload || [];\n }\n }]);\n\n return Animated;\n}();\n\nvar AnimatedValue = /*#__PURE__*/function (_Animated) {\n _inherits(AnimatedValue, _Animated);\n\n var _super = _createSuper(AnimatedValue);\n\n function AnimatedValue(_value) {\n var _this;\n\n _classCallCheck(this, AnimatedValue);\n\n _this = _super.call(this);\n _this.done = true;\n _this.elapsedTime = void 0;\n _this.lastPosition = void 0;\n _this.lastVelocity = void 0;\n _this.v0 = void 0;\n _this.durationProgress = 0;\n _this._value = _value;\n\n if (is.num(_this._value)) {\n _this.lastPosition = _this._value;\n }\n\n return _this;\n }\n\n _createClass(AnimatedValue, [{\n key: \"getPayload\",\n value: function getPayload() {\n return [this];\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this._value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var done = this.done;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n return new AnimatedValue(value);\n }\n }]);\n\n return AnimatedValue;\n}(Animated);\n\nvar AnimatedString = /*#__PURE__*/function (_AnimatedValue) {\n _inherits(AnimatedString, _AnimatedValue);\n\n var _super2 = _createSuper(AnimatedString);\n\n function AnimatedString(value) {\n var _this2;\n\n _classCallCheck(this, AnimatedString);\n\n _this2 = _super2.call(this, 0);\n _this2._string = null;\n _this2._toString = void 0;\n _this2._toString = createInterpolator({\n output: [value, value]\n });\n return _this2;\n }\n\n _createClass(AnimatedString, [{\n key: \"getValue\",\n value: function getValue() {\n var value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n }, {\n key: \"setValue\",\n value: function setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (_get(_getPrototypeOf(AnimatedString.prototype), \"setValue\", this).call(this, value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"reset\",\n value: function reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n\n _get(_getPrototypeOf(AnimatedString.prototype), \"reset\", this).call(this);\n }\n }], [{\n key: \"create\",\n value: function create(value) {\n return new AnimatedString(value);\n }\n }]);\n\n return AnimatedString;\n}(AnimatedValue);\n\nvar TreeContext = {\n dependencies: null\n};\n\nvar AnimatedObject = /*#__PURE__*/function (_Animated2) {\n _inherits(AnimatedObject, _Animated2);\n\n var _super3 = _createSuper(AnimatedObject);\n\n function AnimatedObject(source) {\n var _this3;\n\n _classCallCheck(this, AnimatedObject);\n\n _this3 = _super3.call(this);\n _this3.source = source;\n\n _this3.setValue(source);\n\n return _this3;\n }\n\n _createClass(AnimatedObject, [{\n key: \"getValue\",\n value: function getValue(animated) {\n var values = {};\n eachProp(this.source, function (source, key) {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n }, {\n key: \"setValue\",\n value: function setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.payload) {\n each(this.payload, function (node) {\n return node.reset();\n });\n }\n }\n }, {\n key: \"_makePayload\",\n value: function _makePayload(source) {\n if (source) {\n var payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n }, {\n key: \"_addToPayload\",\n value: function _addToPayload(source) {\n var _this4 = this;\n\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n var payload = getPayload(source);\n\n if (payload) {\n each(payload, function (node) {\n return _this4.add(node);\n });\n }\n }\n }]);\n\n return AnimatedObject;\n}(Animated);\n\nvar AnimatedArray = /*#__PURE__*/function (_AnimatedObject) {\n _inherits(AnimatedArray, _AnimatedObject);\n\n var _super4 = _createSuper(AnimatedArray);\n\n function AnimatedArray(source) {\n _classCallCheck(this, AnimatedArray);\n\n return _super4.call(this, source);\n }\n\n _createClass(AnimatedArray, [{\n key: \"getValue\",\n value: function getValue() {\n return this.source.map(function (node) {\n return node.getValue();\n });\n }\n }, {\n key: \"setValue\",\n value: function setValue(source) {\n var payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map(function (node, i) {\n return node.setValue(source[i]);\n }).some(Boolean);\n }\n\n _get(_getPrototypeOf(AnimatedArray.prototype), \"setValue\", this).call(this, source.map(makeAnimated));\n\n return true;\n }\n }], [{\n key: \"create\",\n value: function create(source) {\n return new AnimatedArray(source);\n }\n }]);\n\n return AnimatedArray;\n}(AnimatedObject);\n\nfunction makeAnimated(value) {\n var nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n var parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar withAnimated = function withAnimated(Component, host) {\n var hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return /*#__PURE__*/forwardRef(function (givenProps, givenRef) {\n var instanceRef = useRef(null);\n var ref = hasInstance && useCallback(function (value) {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n\n var _getAnimatedState = getAnimatedState(givenProps, host),\n _getAnimatedState2 = _slicedToArray(_getAnimatedState, 2),\n props = _getAnimatedState2[0],\n deps = _getAnimatedState2[1];\n\n var forceUpdate = useForceUpdate();\n\n var callback = function callback() {\n var instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n var didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n var observer = new PropsObserver(callback, deps);\n var observerRef = useRef();\n useIsomorphicLayoutEffect(function () {\n observerRef.current = observer;\n each(deps, function (dep) {\n return addFluidObserver(dep, observer);\n });\n return function () {\n if (observerRef.current) {\n each(observerRef.current.deps, function (dep) {\n return removeFluidObserver(dep, observerRef.current);\n });\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(function () {\n return function () {\n var observer = observerRef.current;\n each(observer.deps, function (dep) {\n return removeFluidObserver(dep, observer);\n });\n };\n });\n var usedProps = host.getComponentProps(props.getValue());\n return /*#__PURE__*/React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nvar PropsObserver = /*#__PURE__*/function () {\n function PropsObserver(update, deps) {\n _classCallCheck(this, PropsObserver);\n\n this.update = update;\n this.deps = deps;\n }\n\n _createClass(PropsObserver, [{\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n }]);\n\n return PropsObserver;\n}();\n\nfunction getAnimatedState(props, host) {\n var dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nvar cacheKey = Symbol[\"for\"]('AnimatedComponent');\n\nvar createHost = function createHost(components) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$applyAnimatedVal = _ref.applyAnimatedValues,\n _applyAnimatedValues = _ref$applyAnimatedVal === void 0 ? function () {\n return false;\n } : _ref$applyAnimatedVal,\n _ref$createAnimatedSt = _ref.createAnimatedStyle,\n _createAnimatedStyle = _ref$createAnimatedSt === void 0 ? function (style) {\n return new AnimatedObject(style);\n } : _ref$createAnimatedSt,\n _ref$getComponentProp = _ref.getComponentProps,\n _getComponentProps = _ref$getComponentProp === void 0 ? function (props) {\n return props;\n } : _ref$getComponentProp;\n\n var hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n var animated = function animated(Component) {\n var displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = \"Animated(\".concat(displayName, \")\");\n return Component;\n };\n\n eachProp(components, function (Component, key) {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated: animated\n };\n};\n\nvar getDisplayName = function getDisplayName(arg) {\n return is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n};\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","export * from './DailyReportViewTypeAForm';\nexport * from './DailyReportRepresentationViewTypeAForm';\nexport * from './DailyReportWorksFormContainer';\n","import { mergeLocale } from '../utils/merge-locale';\nimport { base } from './base';\nvar typeTemplate = '${label} は有効な ${type} ではありません';\nvar jaJP = mergeLocale(base, {\n locale: 'ja-JP',\n common: {\n confirm: '確認',\n cancel: 'キャンセル',\n loading: '読み込み中'\n },\n Calendar: {\n markItems: ['月', '火', '水', '木', '金', '土', '日'],\n renderYearAndMonth: function renderYearAndMonth(year, month) {\n return \" \".concat(year, \"\\u5E74\").concat(month, \"\\u6708\");\n }\n },\n Cascader: {\n placeholder: '選択下さい'\n },\n Dialog: {\n ok: 'わかりました'\n },\n ErrorBlock: {\n \"default\": {\n title: 'おっと,何か問題が発生しました',\n description: 'しばらく待ってからもう一度お試しください'\n },\n busy: {\n title: 'おっと,ロードされていません',\n description: 'ページをリフレッシュしてみてください'\n },\n disconnected: {\n title: 'ネットワークがビジー状態です',\n description: 'ページをリフレッシュしてみてください'\n },\n empty: {\n title: 'うーん,見つからなかった...',\n description: 'ほかを試してみませんか?'\n }\n },\n Form: {\n required: '必須',\n optional: 'オプション',\n defaultValidateMessages: {\n \"default\": '${label} のフィールド検証エラー',\n required: '${label} を入力してください',\n \"enum\": '${label} は [${enum}] のいずれかでなければなりません',\n whitespace: '${label} を空白文字にすることはできません',\n date: {\n format: '${label} の日付形式が無効です',\n parse: '${label} は日付に変換できません',\n invalid: '${label} は無効な日付です'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} の長さは ${len} 文字でなければなりません',\n min: '${label} の長さは少なくとも ${min} 文字でなければなりません',\n max: '${label} の長さは最大 ${max} 文字でなければなりません',\n range: '${label} の長さは ${min}-${max} 文字の間でなければなりません'\n },\n number: {\n len: '${label} は ${len} と等しくなければなりません',\n min: '${label} は最小 ${min} でなければなりません',\n max: '${label} は最大 ${max} でなければなりません',\n range: '${label} は ${min}-${max} の間でなければなりません'\n },\n array: {\n len: '${label} は ${len} 個である必要があります',\n min: '${label} は少なくとも ${min} 個',\n max: '${label} は最大 ${min} 個',\n range: '${label} の数は ${min}-${max} の間でなければなりません'\n },\n pattern: {\n mismatch: '${label} はパターン ${pattern} と一致しません'\n }\n }\n },\n ImageUploader: {\n uploading: 'アップロード中...',\n upload: 'アップロード'\n },\n InfiniteScroll: {\n noMore: 'これ以上',\n failedToLoad: '読み込みに失敗しました',\n retry: '再試行'\n },\n Input: {\n clear: 'クリア'\n },\n Mask: {\n name: 'マスク'\n },\n Modal: {\n ok: 'わかりました'\n },\n PasscodeInput: {\n name: 'パスコード入力'\n },\n PullToRefresh: {\n pulling: '下にスクロールして更新',\n canRelease: '解放してすぐに更新',\n complete: 'リフレッシュ成功'\n },\n SearchBar: {\n name: '検索バー'\n },\n Slider: {\n name: 'スライダー'\n },\n Stepper: {\n decrease: '減少',\n increase: '増加'\n },\n Switch: {\n name: 'スイッチ'\n }\n});\nexport default jaJP;","import type { NewWorkWithWorkingForm } from '@/interface';\n\nexport const initNewWork = {\n workProperty: null,\n workContent: null,\n workDetail: null,\n startAt: '',\n endAt: '',\n includeRest: false,\n};\n\nexport const initNewWorkWithWorkingForm: NewWorkWithWorkingForm = {\n object: 'newWorkWithWorkingForm',\n workContent: null,\n startAt: '',\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { createContext, forwardRef, useContext, createElement } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || _typeof(mergedTheme) !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || _typeof(theme) !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, {}, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\n\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n} // thus we only need to replace what is a valid character for JS, but not for CSS\n\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\n\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z0-9$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z0-9$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, typeof cssProp === 'function' || Array.isArray(cssProp) ? useContext(ThemeContext) : undefined);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };","import React, { useState } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { departmentsState } from '@/store/dailyreports/atom';\nimport { Arigatona } from '@/interface';\nimport { FormGroup } from './FormGroup';\nimport { useUsers } from '../hooks/api';\n\nexport interface IDailyReportArigatonaForm {\n dailyReportArigatona: Partial;\n}\n// eslint-disable-next-line\nconst DailyReportArigatonaForm = ({\n dailyReportArigatona,\n}: IDailyReportArigatonaForm) => {\n const departments = useRecoilValue(departmentsState);\n const [selectedUserId, setSelectedUserId] = useState(\n dailyReportArigatona?.user?.id || 0,\n );\n\n const [selectedDepartmentId, setSelectedDepartmentId] = useState(\n dailyReportArigatona?.user?.department?.id || 0,\n );\n const { users } = useUsers({ departmentId: selectedDepartmentId });\n const handleChangeDepartment = (ev: React.ChangeEvent) => {\n setSelectedDepartmentId(ev.target.value as unknown as number);\n };\n\n return (\n
\n
\n \n \n \n {departments.map((department) => (\n \n ))}\n \n \n
\n
\n \n setSelectedUserId(Number(ev.target.value))}\n value={selectedUserId}\n >\n \n {users &&\n users.map((user) => (\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default DailyReportArigatonaForm;\n","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 bind = require('./helpers/bind');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && _typeof(val) === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\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\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\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\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (_typeof(obj) !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction deepMerge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (_typeof(result[key]) === 'object' && _typeof(val) === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (_typeof(val) === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\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 = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };","import { S as Select } from './Select-dbb12e54.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-dbb12e54.esm.js';\nimport { m as manageState } from './stateManager-845a3300.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nexport { c as components } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\nexport default index;\nexport { NonceProvider };","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","// default: neutral20: \"hsl(0, 0%, 80%)\",\nexport const reactSelectStyle = {\n borderRadius: 0,\n colors: {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: '#e9e9ea',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0 %, 10 %)',\n },\n spacing: {\n baseUnit: 4,\n controlHeight: 54,\n menuGutter: 8,\n },\n};\n","import type { Work, NewWorkWithWorking } from '@/interface';\n\nexport const isWork = (v: unknown): v is Work => {\n if (typeof v !== 'object' || v === null) {\n return false;\n }\n\n const candidate = v as Partial;\n return (\n typeof candidate.startAt === 'string' && typeof candidate.endAt === 'string'\n );\n};\n\nexport const isNewWorkWithWorking = (v: unknown): v is NewWorkWithWorking => {\n const candidate = v as Partial;\n\n return candidate.object === 'newWorkWithWorking';\n};\n","import { DateTime } from 'luxon';\n\ntype Period = {\n startAt: string;\n endAt: string;\n};\n\nconst conv = (time): DateTime => DateTime.fromSQL(time, { zone: 'Asia/Tokyo' });\n\n/**\n * 開始時刻と終了時刻がプラスであることを検証\n * @module validators\n * @param {Period} period - 時刻\n * @return {boolean} - return true if endAtがstartAtよりも後ろにいる\n */\nexport const isTimePeriodValid = (period: Period): boolean => {\n const startAt = conv(period.startAt);\n const endAt = conv(period.endAt);\n if (startAt < endAt) {\n return true;\n }\n\n return false;\n};\n\n/**\n * 重複した期間を検証する\n * @module validators\n * @param {Array} periods - 追加済み期間\n * @param {Period} period - 追加期間\n * @return {[boolean, Period | null]} - return [true, null] if not duplicated,\n * but invalid occurs return [false, reason period]\n * https://yucatio.hatenablog.com/entry/2018/08/16/175914\n */\nexport const isNoOverlapValid = (\n periods: Array,\n newPeriod: Period,\n): [boolean, Period | null] => {\n if (periods.length === 0) {\n return [true, null];\n }\n\n const newStartAt = conv(newPeriod.startAt);\n const newEndAt = conv(newPeriod.endAt);\n\n const invalids = periods.filter((period) => {\n const startAt = conv(period.startAt);\n const endAt = conv(period.endAt);\n\n if (startAt < newEndAt && newStartAt < endAt) {\n return true;\n }\n\n return false;\n });\n\n if (invalids.length > 0) {\n return [false, invalids[0]];\n }\n\n return [true, null];\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\nmodule.exports = isArray;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n\n\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n\n if (value == null) {\n return identity;\n }\n\n if (_typeof(value) == 'object') {\n return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);\n }\n\n return property(value);\n}\n\nmodule.exports = baseIteratee;","import { Work, NewWorkWithWorking } from '@/interface';\n\nexport const isValidWork = (work: Work): boolean => {\n if (!work.workContent || work.workContent.id.toString() === '0') {\n return false;\n }\n if (!work.workProperty || work.workProperty.id.toString() === '0') {\n return false;\n }\n if (!work.startAt) {\n return false;\n }\n if (!work.endAt) {\n return false;\n }\n\n return true;\n};\n\nexport const isValidWorkWithWorking = (work: NewWorkWithWorking): boolean => {\n if (!work.workContent || work.workContent.id.toString() === '0') {\n return false;\n }\n if (!work.startAt) {\n return false;\n }\n\n return true;\n};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { a as _objectSpread2, s as supportsPassiveEvents, b as clearIndicatorCSS, d as containerCSS, e as css$1, f as dropdownIndicatorCSS, g as groupCSS, h as groupHeadingCSS, i as indicatorsContainerCSS, j as indicatorSeparatorCSS, k as inputCSS, l as loadingIndicatorCSS, m as loadingMessageCSS, n as menuCSS, o as menuListCSS, p as menuPortalCSS, q as multiValueCSS, r as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, _ as _createSuper, B as classNames, C as defaultComponents, D as isDocumentElement, E as cleanValue, F as scrollIntoView, G as noop, M as MenuPlacer } from './index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport React, { useMemo, useRef, useCallback, useEffect, Component } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport memoizeOne from 'memoize-one';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"7pg0cj-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"\n} : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbmNvbnN0IEExMXlUZXh0ID0gKHByb3BzOiBFbGVtZW50Q29uZmlnPCdzcGFuJz4pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n isDisabled = props.isDisabled,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context;\n\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n isDisabled = props.isDisabled;\n\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n _props$focused = props.focused,\n focused = _props$focused === void 0 ? {} : _props$focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected;\n\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n\n if (context === 'menu') {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? 'selected' : 'focused').concat(disabled);\n return \"option \".concat(label, \" \").concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes\n\n var messages = useMemo(function () {\n return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]); // Update aria live selected option when prop changes\n\n var ariaSelected = useMemo(function () {\n var message = '';\n\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n removedValue = ariaSelection.removedValue,\n value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value\n\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n var selected = removedValue || option || asOption(value);\n\n var onChangeProps = _objectSpread2({\n isDisabled: selected && isOptionDisabled(selected),\n label: selected ? getOptionLabel(selected) : ''\n }, ariaSelection);\n\n message = messages.onChange(onChangeProps);\n }\n\n return message;\n }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);\n var ariaFocused = useMemo(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused),\n isSelected: isSelected,\n options: options,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);\n var ariaResults = useMemo(function () {\n var resultsMsg = '';\n\n if (menuIsOpen && options.length && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);\n var ariaGuidance = useMemo(function () {\n var guidanceMsg = '';\n\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue\n });\n }\n\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);\n var ariaContext = \"\".concat(ariaFocused, \" \").concat(ariaResults, \" \").concat(ariaGuidance);\n return jsx(A11yText, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\"\n }, isFocused && jsx(React.Fragment, null, jsx(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), jsx(\"span\", {\n id: \"aria-context\"\n }, ariaContext)));\n};\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics);\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread2({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction DummyInput(_ref) {\n _ref[\"in\"];\n _ref.out;\n _ref.onExited;\n _ref.appear;\n _ref.enter;\n _ref.exit;\n var innerRef = _ref.innerRef;\n _ref.emotion;\n\n var props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:DummyInput;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbjogaW5Qcm9wLFxuICBvdXQsXG4gIG9uRXhpdGVkLFxuICBhcHBlYXIsXG4gIGVudGVyLFxuICBleGl0LFxuICBpbm5lclJlZixcbiAgZW1vdGlvbixcbiAgLi4ucHJvcHNcbn06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = useRef(false);\n var isTop = useRef(false);\n var touchStart = useRef(0);\n var scrollTarget = useRef(null);\n var handleEventDelta = useCallback(function (event, delta) {\n // Reference should never be `null` at this point, but flow complains otherwise\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, []);\n var onWheel = useCallback(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = useCallback(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = useCallback(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = useCallback(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = supportsPassiveEvents ? {\n passive: false\n } : false; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', onWheel, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', onTouchStart, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = useCallback(function (el) {\n // bail early if no element is available to detach from\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', onTouchMove, false);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\n\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = useRef({});\n var scrollTarget = useRef(null);\n var addScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }, []);\n var removeScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, []);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n}\n\nvar blurSelectInput = function blurSelectInput() {\n return document.activeElement && document.activeElement.blur();\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"1kfdb0e\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0\"\n} : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0RVIiwiZmlsZSI6IlNjcm9sbE1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNjcm9sbENhcHR1cmUgZnJvbSAnLi91c2VTY3JvbGxDYXB0dXJlJztcbmltcG9ydCB1c2VTY3JvbGxMb2NrIGZyb20gJy4vdXNlU2Nyb2xsTG9jayc7XG5cbnR5cGUgUmVmQ2FsbGJhY2s8VD4gPSAoVCB8IG51bGwpID0+IHZvaWQ7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiAoUmVmQ2FsbGJhY2s8SFRNTEVsZW1lbnQ+KSA9PiBFbGVtZW50PCo+LFxuICBsb2NrRW5hYmxlZDogYm9vbGVhbixcbiAgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW4sXG4gIG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQsXG4gIG9uQm90dG9tTGVhdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BBcnJpdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BMZWF2ZT86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkLFxufTtcblxuY29uc3QgYmx1clNlbGVjdElucHV0ID0gKCkgPT5cbiAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gZWxlbWVudCA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n\n return jsx(React.Fragment, null, lockEnabled && jsx(\"div\", {\n onClick: blurSelectInput,\n css: _ref2\n }), children(targetRef));\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\n\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\n\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\n\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css$1,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$2,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // initialize with source styles\n\n var styles = _objectSpread2({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\n\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n\n var isSelected = _isOptionSelected(props, option, selectValue);\n\n var label = getOptionLabel$1(props, option);\n var value = getOptionValue$1(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\n\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if (groupOrOption.options) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)\n .filter(function (categorizedOption) {\n return !!categorizedOption;\n });\n}\n\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n\n return optionsAccumulator;\n }, []);\n}\n\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\n\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\n\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n}\n\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\n\nvar getOptionLabel$1 = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\n\nvar getOptionValue$1 = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\n\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\n\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n\n var candidate = getOptionValue$1(props, option);\n return selectValue.some(function (i) {\n return getOptionValue$1(props, i) === candidate;\n });\n}\n\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\n\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\n\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper(Select); // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n\n\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n\n _this.ariaOnChange(newValue, actionMeta);\n\n onChange(newValue, actionMeta);\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n } else {\n _this.setValue(newValue, 'select-option');\n }\n } else {\n _this.ariaOnChange(newValue, {\n action: 'select-option',\n name: name\n });\n\n return;\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n\n _this.onChange(_this.props.isMulti ? [] : null, {\n action: 'clear',\n removedValues: selectValue\n });\n };\n\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return getOptionLabel$1(_this.props, data);\n };\n\n _this.getOptionValue = function (data) {\n return getOptionValue$1(_this.props, data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getComponents = function () {\n return defaultComponents(_this.props);\n };\n\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: _objectSpread2({\n value: value\n }, actionMeta)\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = cleanValue(_props.value);\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n } // ==============================\n // Consumer Handlers\n // ==============================\n\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex]\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing\n\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n }\n }, {\n key: \"getTheme\",\n value: // ==============================\n // Getters\n // ==============================\n function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread2(_objectSpread2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n value: // ==============================\n // Composition Handlers\n // ==============================\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value: // ==============================\n // Touch Handlers\n // ==============================\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value: // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form;\n\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n\n var inputIsHidden = this.state.inputIsHidden;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue,\n isFocused = _this$state4.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this3.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n };\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, {\n key: groupId,\n data: data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n\n scrollTargetRef(instance);\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state5 = this.state,\n ariaSelection = _this$state5.ariaSelection,\n focusedOption = _this$state5.focusedOption,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused,\n selectValue = _this$state5.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, {\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue;\n var newMenuOptionsState = {};\n\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var selectValue = cleanValue(value);\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n } // some updates should toggle the state of the input visibility\n\n\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n return _objectSpread2(_objectSpread2(_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props\n });\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\nexport { Select as S, getOptionLabel as a, defaultProps as b, createFilter as c, defaultTheme as d, getOptionValue as g, mergeStyles as m };","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n} // these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\n\n\nvar LuxonError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(LuxonError, _Error);\n\n function LuxonError() {\n return _Error.apply(this, arguments) || this;\n }\n\n return LuxonError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * @private\n */\n\n\nvar InvalidDateTimeError = /*#__PURE__*/function (_LuxonError) {\n _inheritsLoose(InvalidDateTimeError, _LuxonError);\n\n function InvalidDateTimeError(reason) {\n return _LuxonError.call(this, \"Invalid DateTime: \" + reason.toMessage()) || this;\n }\n\n return InvalidDateTimeError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar InvalidIntervalError = /*#__PURE__*/function (_LuxonError2) {\n _inheritsLoose(InvalidIntervalError, _LuxonError2);\n\n function InvalidIntervalError(reason) {\n return _LuxonError2.call(this, \"Invalid Interval: \" + reason.toMessage()) || this;\n }\n\n return InvalidIntervalError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar InvalidDurationError = /*#__PURE__*/function (_LuxonError3) {\n _inheritsLoose(InvalidDurationError, _LuxonError3);\n\n function InvalidDurationError(reason) {\n return _LuxonError3.call(this, \"Invalid Duration: \" + reason.toMessage()) || this;\n }\n\n return InvalidDurationError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar ConflictingSpecificationError = /*#__PURE__*/function (_LuxonError4) {\n _inheritsLoose(ConflictingSpecificationError, _LuxonError4);\n\n function ConflictingSpecificationError() {\n return _LuxonError4.apply(this, arguments) || this;\n }\n\n return ConflictingSpecificationError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar InvalidUnitError = /*#__PURE__*/function (_LuxonError5) {\n _inheritsLoose(InvalidUnitError, _LuxonError5);\n\n function InvalidUnitError(unit) {\n return _LuxonError5.call(this, \"Invalid unit \" + unit) || this;\n }\n\n return InvalidUnitError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar InvalidArgumentError = /*#__PURE__*/function (_LuxonError6) {\n _inheritsLoose(InvalidArgumentError, _LuxonError6);\n\n function InvalidArgumentError() {\n return _LuxonError6.apply(this, arguments) || this;\n }\n\n return InvalidArgumentError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar ZoneIsAbstractError = /*#__PURE__*/function (_LuxonError7) {\n _inheritsLoose(ZoneIsAbstractError, _LuxonError7);\n\n function ZoneIsAbstractError() {\n return _LuxonError7.call(this, \"Zone is an abstract class\") || this;\n }\n\n return ZoneIsAbstractError;\n}(LuxonError);\n/**\n * @private\n */\n\n\nvar n = \"numeric\",\n s = \"short\",\n l = \"long\";\nvar DATE_SHORT = {\n year: n,\n month: n,\n day: n\n};\nvar DATE_MED = {\n year: n,\n month: s,\n day: n\n};\nvar DATE_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s\n};\nvar DATE_FULL = {\n year: n,\n month: l,\n day: n\n};\nvar DATE_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l\n};\nvar TIME_SIMPLE = {\n hour: n,\n minute: n\n};\nvar TIME_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n\n};\nvar TIME_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s\n};\nvar TIME_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l\n};\nvar TIME_24_SIMPLE = {\n hour: n,\n minute: n,\n hourCycle: \"h23\"\n};\nvar TIME_24_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\"\n};\nvar TIME_24_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: s\n};\nvar TIME_24_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: l\n};\nvar DATETIME_SHORT = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n\n};\nvar DATETIME_SHORT_WITH_SECONDS = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n second: n\n};\nvar DATETIME_MED = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n\n};\nvar DATETIME_MED_WITH_SECONDS = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n second: n\n};\nvar DATETIME_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n hour: n,\n minute: n\n};\nvar DATETIME_FULL = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n timeZoneName: s\n};\nvar DATETIME_FULL_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s\n};\nvar DATETIME_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n timeZoneName: l\n};\nvar DATETIME_HUGE_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l\n};\n/**\n * @private\n */\n// TYPES\n\nfunction isUndefined(o) {\n return typeof o === \"undefined\";\n}\n\nfunction isNumber(o) {\n return typeof o === \"number\";\n}\n\nfunction isInteger(o) {\n return typeof o === \"number\" && o % 1 === 0;\n}\n\nfunction isString(o) {\n return typeof o === \"string\";\n}\n\nfunction isDate(o) {\n return Object.prototype.toString.call(o) === \"[object Date]\";\n} // CAPABILITIES\n\n\nfunction hasRelative() {\n try {\n return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n } catch (e) {\n return false;\n }\n} // OBJECTS AND ARRAYS\n\n\nfunction maybeArray(thing) {\n return Array.isArray(thing) ? thing : [thing];\n}\n\nfunction bestBy(arr, by, compare) {\n if (arr.length === 0) {\n return undefined;\n }\n\n return arr.reduce(function (best, next) {\n var pair = [by(next), next];\n\n if (!best) {\n return pair;\n } else if (compare(best[0], pair[0]) === best[0]) {\n return best;\n } else {\n return pair;\n }\n }, null)[1];\n}\n\nfunction pick(obj, keys) {\n return keys.reduce(function (a, k) {\n a[k] = obj[k];\n return a;\n }, {});\n}\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n} // NUMBERS AND STRINGS\n\n\nfunction integerBetween(thing, bottom, top) {\n return isInteger(thing) && thing >= bottom && thing <= top;\n} // x % n but takes the sign of n instead of x\n\n\nfunction floorMod(x, n) {\n return x - n * Math.floor(x / n);\n}\n\nfunction padStart(input, n) {\n if (n === void 0) {\n n = 2;\n }\n\n var isNeg = input < 0;\n var padded;\n\n if (isNeg) {\n padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n } else {\n padded = (\"\" + input).padStart(n, \"0\");\n }\n\n return padded;\n}\n\nfunction parseInteger(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseInt(string, 10);\n }\n}\n\nfunction parseFloating(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseFloat(string);\n }\n}\n\nfunction parseMillis(fraction) {\n // Return undefined (instead of 0) in these cases, where fraction is not set\n if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n return undefined;\n } else {\n var f = parseFloat(\"0.\" + fraction) * 1000;\n return Math.floor(f);\n }\n}\n\nfunction roundTo(number, digits, towardZero) {\n if (towardZero === void 0) {\n towardZero = false;\n }\n\n var factor = Math.pow(10, digits),\n rounder = towardZero ? Math.trunc : Math.round;\n return rounder(number * factor) / factor;\n} // DATE BASICS\n\n\nfunction isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction daysInMonth(year, month) {\n var modMonth = floorMod(month - 1, 12) + 1,\n modYear = year + (month - modMonth) / 12;\n\n if (modMonth === 2) {\n return isLeapYear(modYear) ? 29 : 28;\n } else {\n return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n }\n} // covert a calendar object to a local timestamp (epoch, but with the offset baked in)\n\n\nfunction objToLocalTS(obj) {\n var d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond); // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n\n return +d;\n}\n\nfunction weeksInWeekYear(weekYear) {\n var p1 = (weekYear + Math.floor(weekYear / 4) - Math.floor(weekYear / 100) + Math.floor(weekYear / 400)) % 7,\n last = weekYear - 1,\n p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;\n return p1 === 4 || p2 === 3 ? 53 : 52;\n}\n\nfunction untruncateYear(year) {\n if (year > 99) {\n return year;\n } else return year > 60 ? 1900 + year : 2000 + year;\n} // PARSING\n\n\nfunction parseZoneInfo(ts, offsetFormat, locale, timeZone) {\n if (timeZone === void 0) {\n timeZone = null;\n }\n\n var date = new Date(ts),\n intlOpts = {\n hourCycle: \"h23\",\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n };\n\n if (timeZone) {\n intlOpts.timeZone = timeZone;\n }\n\n var modified = _extends({\n timeZoneName: offsetFormat\n }, intlOpts);\n\n var parsed = new Intl.DateTimeFormat(locale, modified).formatToParts(date).find(function (m) {\n return m.type.toLowerCase() === \"timezonename\";\n });\n return parsed ? parsed.value : null;\n} // signedOffset('-5', '30') -> -330\n\n\nfunction signedOffset(offHourStr, offMinuteStr) {\n var offHour = parseInt(offHourStr, 10); // don't || this because we want to preserve -0\n\n if (Number.isNaN(offHour)) {\n offHour = 0;\n }\n\n var offMin = parseInt(offMinuteStr, 10) || 0,\n offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n return offHour * 60 + offMinSigned;\n} // COERCION\n\n\nfunction asNumber(value) {\n var numericValue = Number(value);\n if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue)) throw new InvalidArgumentError(\"Invalid unit value \" + value);\n return numericValue;\n}\n\nfunction normalizeObject(obj, normalizer) {\n var normalized = {};\n\n for (var u in obj) {\n if (hasOwnProperty(obj, u)) {\n var v = obj[u];\n if (v === undefined || v === null) continue;\n normalized[normalizer(u)] = asNumber(v);\n }\n }\n\n return normalized;\n}\n\nfunction formatOffset(offset, format) {\n var hours = Math.trunc(Math.abs(offset / 60)),\n minutes = Math.trunc(Math.abs(offset % 60)),\n sign = offset >= 0 ? \"+\" : \"-\";\n\n switch (format) {\n case \"short\":\n return \"\" + sign + padStart(hours, 2) + \":\" + padStart(minutes, 2);\n\n case \"narrow\":\n return \"\" + sign + hours + (minutes > 0 ? \":\" + minutes : \"\");\n\n case \"techie\":\n return \"\" + sign + padStart(hours, 2) + padStart(minutes, 2);\n\n default:\n throw new RangeError(\"Value format \" + format + \" is out of range for property format\");\n }\n}\n\nfunction timeObject(obj) {\n return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n\nvar ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n/**\n * @private\n */\n\nvar monthsLong = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nvar monthsShort = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nvar monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nfunction months(length) {\n switch (length) {\n case \"narrow\":\n return [].concat(monthsNarrow);\n\n case \"short\":\n return [].concat(monthsShort);\n\n case \"long\":\n return [].concat(monthsLong);\n\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n\n case \"2-digit\":\n return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n\n default:\n return null;\n }\n}\n\nvar weekdaysLong = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\nvar weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\nvar weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nfunction weekdays(length) {\n switch (length) {\n case \"narrow\":\n return [].concat(weekdaysNarrow);\n\n case \"short\":\n return [].concat(weekdaysShort);\n\n case \"long\":\n return [].concat(weekdaysLong);\n\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n\n default:\n return null;\n }\n}\n\nvar meridiems = [\"AM\", \"PM\"];\nvar erasLong = [\"Before Christ\", \"Anno Domini\"];\nvar erasShort = [\"BC\", \"AD\"];\nvar erasNarrow = [\"B\", \"A\"];\n\nfunction eras(length) {\n switch (length) {\n case \"narrow\":\n return [].concat(erasNarrow);\n\n case \"short\":\n return [].concat(erasShort);\n\n case \"long\":\n return [].concat(erasLong);\n\n default:\n return null;\n }\n}\n\nfunction meridiemForDateTime(dt) {\n return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nfunction weekdayForDateTime(dt, length) {\n return weekdays(length)[dt.weekday - 1];\n}\n\nfunction monthForDateTime(dt, length) {\n return months(length)[dt.month - 1];\n}\n\nfunction eraForDateTime(dt, length) {\n return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nfunction formatRelativeTime(unit, count, numeric, narrow) {\n if (numeric === void 0) {\n numeric = \"always\";\n }\n\n if (narrow === void 0) {\n narrow = false;\n }\n\n var units = {\n years: [\"year\", \"yr.\"],\n quarters: [\"quarter\", \"qtr.\"],\n months: [\"month\", \"mo.\"],\n weeks: [\"week\", \"wk.\"],\n days: [\"day\", \"day\", \"days\"],\n hours: [\"hour\", \"hr.\"],\n minutes: [\"minute\", \"min.\"],\n seconds: [\"second\", \"sec.\"]\n };\n var lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n if (numeric === \"auto\" && lastable) {\n var isDay = unit === \"days\";\n\n switch (count) {\n case 1:\n return isDay ? \"tomorrow\" : \"next \" + units[unit][0];\n\n case -1:\n return isDay ? \"yesterday\" : \"last \" + units[unit][0];\n\n case 0:\n return isDay ? \"today\" : \"this \" + units[unit][0];\n }\n }\n\n var isInPast = Object.is(count, -0) || count < 0,\n fmtValue = Math.abs(count),\n singular = fmtValue === 1,\n lilUnits = units[unit],\n fmtUnit = narrow ? singular ? lilUnits[1] : lilUnits[2] || lilUnits[1] : singular ? units[unit][0] : unit;\n return isInPast ? fmtValue + \" \" + fmtUnit + \" ago\" : \"in \" + fmtValue + \" \" + fmtUnit;\n}\n\nfunction stringifyTokens(splits, tokenToString) {\n var s = \"\";\n\n for (var _iterator = _createForOfIteratorHelperLoose(splits), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n\n if (token.literal) {\n s += token.val;\n } else {\n s += tokenToString(token.val);\n }\n }\n\n return s;\n}\n\nvar _macroTokenToFormatOpts = {\n D: DATE_SHORT,\n DD: DATE_MED,\n DDD: DATE_FULL,\n DDDD: DATE_HUGE,\n t: TIME_SIMPLE,\n tt: TIME_WITH_SECONDS,\n ttt: TIME_WITH_SHORT_OFFSET,\n tttt: TIME_WITH_LONG_OFFSET,\n T: TIME_24_SIMPLE,\n TT: TIME_24_WITH_SECONDS,\n TTT: TIME_24_WITH_SHORT_OFFSET,\n TTTT: TIME_24_WITH_LONG_OFFSET,\n f: DATETIME_SHORT,\n ff: DATETIME_MED,\n fff: DATETIME_FULL,\n ffff: DATETIME_HUGE,\n F: DATETIME_SHORT_WITH_SECONDS,\n FF: DATETIME_MED_WITH_SECONDS,\n FFF: DATETIME_FULL_WITH_SECONDS,\n FFFF: DATETIME_HUGE_WITH_SECONDS\n};\n/**\n * @private\n */\n\nvar Formatter = /*#__PURE__*/function () {\n Formatter.create = function create(locale, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return new Formatter(locale, opts);\n };\n\n Formatter.parseFormat = function parseFormat(fmt) {\n var current = null,\n currentFull = \"\",\n bracketed = false;\n var splits = [];\n\n for (var i = 0; i < fmt.length; i++) {\n var c = fmt.charAt(i);\n\n if (c === \"'\") {\n if (currentFull.length > 0) {\n splits.push({\n literal: bracketed,\n val: currentFull\n });\n }\n\n current = null;\n currentFull = \"\";\n bracketed = !bracketed;\n } else if (bracketed) {\n currentFull += c;\n } else if (c === current) {\n currentFull += c;\n } else {\n if (currentFull.length > 0) {\n splits.push({\n literal: false,\n val: currentFull\n });\n }\n\n currentFull = c;\n current = c;\n }\n }\n\n if (currentFull.length > 0) {\n splits.push({\n literal: bracketed,\n val: currentFull\n });\n }\n\n return splits;\n };\n\n Formatter.macroTokenToFormatOpts = function macroTokenToFormatOpts(token) {\n return _macroTokenToFormatOpts[token];\n };\n\n function Formatter(locale, formatOpts) {\n this.opts = formatOpts;\n this.loc = locale;\n this.systemLoc = null;\n }\n\n var _proto = Formatter.prototype;\n\n _proto.formatWithSystemDefault = function formatWithSystemDefault(dt, opts) {\n if (this.systemLoc === null) {\n this.systemLoc = this.loc.redefaultToSystem();\n }\n\n var df = this.systemLoc.dtFormatter(dt, _extends({}, this.opts, opts));\n return df.format();\n };\n\n _proto.formatDateTime = function formatDateTime(dt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts));\n return df.format();\n };\n\n _proto.formatDateTimeParts = function formatDateTimeParts(dt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts));\n return df.formatToParts();\n };\n\n _proto.resolvedOptions = function resolvedOptions(dt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var df = this.loc.dtFormatter(dt, _extends({}, this.opts, opts));\n return df.resolvedOptions();\n };\n\n _proto.num = function num(n, p) {\n if (p === void 0) {\n p = 0;\n } // we get some perf out of doing this here, annoyingly\n\n\n if (this.opts.forceSimple) {\n return padStart(n, p);\n }\n\n var opts = _extends({}, this.opts);\n\n if (p > 0) {\n opts.padTo = p;\n }\n\n return this.loc.numberFormatter(opts).format(n);\n };\n\n _proto.formatDateTimeFromString = function formatDateTimeFromString(dt, fmt) {\n var _this = this;\n\n var knownEnglish = this.loc.listingMode() === \"en\",\n useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n string = function string(opts, extract) {\n return _this.loc.extract(dt, opts, extract);\n },\n formatOffset = function formatOffset(opts) {\n if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n return \"Z\";\n }\n\n return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n },\n meridiem = function meridiem() {\n return knownEnglish ? meridiemForDateTime(dt) : string({\n hour: \"numeric\",\n hourCycle: \"h12\"\n }, \"dayperiod\");\n },\n month = function month(length, standalone) {\n return knownEnglish ? monthForDateTime(dt, length) : string(standalone ? {\n month: length\n } : {\n month: length,\n day: \"numeric\"\n }, \"month\");\n },\n weekday = function weekday(length, standalone) {\n return knownEnglish ? weekdayForDateTime(dt, length) : string(standalone ? {\n weekday: length\n } : {\n weekday: length,\n month: \"long\",\n day: \"numeric\"\n }, \"weekday\");\n },\n maybeMacro = function maybeMacro(token) {\n var formatOpts = Formatter.macroTokenToFormatOpts(token);\n\n if (formatOpts) {\n return _this.formatWithSystemDefault(dt, formatOpts);\n } else {\n return token;\n }\n },\n era = function era(length) {\n return knownEnglish ? eraForDateTime(dt, length) : string({\n era: length\n }, \"era\");\n },\n tokenToString = function tokenToString(token) {\n // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles\n switch (token) {\n // ms\n case \"S\":\n return _this.num(dt.millisecond);\n\n case \"u\": // falls through\n\n case \"SSS\":\n return _this.num(dt.millisecond, 3);\n // seconds\n\n case \"s\":\n return _this.num(dt.second);\n\n case \"ss\":\n return _this.num(dt.second, 2);\n // fractional seconds\n\n case \"uu\":\n return _this.num(Math.floor(dt.millisecond / 10), 2);\n\n case \"uuu\":\n return _this.num(Math.floor(dt.millisecond / 100));\n // minutes\n\n case \"m\":\n return _this.num(dt.minute);\n\n case \"mm\":\n return _this.num(dt.minute, 2);\n // hours\n\n case \"h\":\n return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n\n case \"hh\":\n return _this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n\n case \"H\":\n return _this.num(dt.hour);\n\n case \"HH\":\n return _this.num(dt.hour, 2);\n // offset\n\n case \"Z\":\n // like +6\n return formatOffset({\n format: \"narrow\",\n allowZ: _this.opts.allowZ\n });\n\n case \"ZZ\":\n // like +06:00\n return formatOffset({\n format: \"short\",\n allowZ: _this.opts.allowZ\n });\n\n case \"ZZZ\":\n // like +0600\n return formatOffset({\n format: \"techie\",\n allowZ: _this.opts.allowZ\n });\n\n case \"ZZZZ\":\n // like EST\n return dt.zone.offsetName(dt.ts, {\n format: \"short\",\n locale: _this.loc.locale\n });\n\n case \"ZZZZZ\":\n // like Eastern Standard Time\n return dt.zone.offsetName(dt.ts, {\n format: \"long\",\n locale: _this.loc.locale\n });\n // zone\n\n case \"z\":\n // like America/New_York\n return dt.zoneName;\n // meridiems\n\n case \"a\":\n return meridiem();\n // dates\n\n case \"d\":\n return useDateTimeFormatter ? string({\n day: \"numeric\"\n }, \"day\") : _this.num(dt.day);\n\n case \"dd\":\n return useDateTimeFormatter ? string({\n day: \"2-digit\"\n }, \"day\") : _this.num(dt.day, 2);\n // weekdays - standalone\n\n case \"c\":\n // like 1\n return _this.num(dt.weekday);\n\n case \"ccc\":\n // like 'Tues'\n return weekday(\"short\", true);\n\n case \"cccc\":\n // like 'Tuesday'\n return weekday(\"long\", true);\n\n case \"ccccc\":\n // like 'T'\n return weekday(\"narrow\", true);\n // weekdays - format\n\n case \"E\":\n // like 1\n return _this.num(dt.weekday);\n\n case \"EEE\":\n // like 'Tues'\n return weekday(\"short\", false);\n\n case \"EEEE\":\n // like 'Tuesday'\n return weekday(\"long\", false);\n\n case \"EEEEE\":\n // like 'T'\n return weekday(\"narrow\", false);\n // months - standalone\n\n case \"L\":\n // like 1\n return useDateTimeFormatter ? string({\n month: \"numeric\",\n day: \"numeric\"\n }, \"month\") : _this.num(dt.month);\n\n case \"LL\":\n // like 01, doesn't seem to work\n return useDateTimeFormatter ? string({\n month: \"2-digit\",\n day: \"numeric\"\n }, \"month\") : _this.num(dt.month, 2);\n\n case \"LLL\":\n // like Jan\n return month(\"short\", true);\n\n case \"LLLL\":\n // like January\n return month(\"long\", true);\n\n case \"LLLLL\":\n // like J\n return month(\"narrow\", true);\n // months - format\n\n case \"M\":\n // like 1\n return useDateTimeFormatter ? string({\n month: \"numeric\"\n }, \"month\") : _this.num(dt.month);\n\n case \"MM\":\n // like 01\n return useDateTimeFormatter ? string({\n month: \"2-digit\"\n }, \"month\") : _this.num(dt.month, 2);\n\n case \"MMM\":\n // like Jan\n return month(\"short\", false);\n\n case \"MMMM\":\n // like January\n return month(\"long\", false);\n\n case \"MMMMM\":\n // like J\n return month(\"narrow\", false);\n // years\n\n case \"y\":\n // like 2014\n return useDateTimeFormatter ? string({\n year: \"numeric\"\n }, \"year\") : _this.num(dt.year);\n\n case \"yy\":\n // like 14\n return useDateTimeFormatter ? string({\n year: \"2-digit\"\n }, \"year\") : _this.num(dt.year.toString().slice(-2), 2);\n\n case \"yyyy\":\n // like 0012\n return useDateTimeFormatter ? string({\n year: \"numeric\"\n }, \"year\") : _this.num(dt.year, 4);\n\n case \"yyyyyy\":\n // like 000012\n return useDateTimeFormatter ? string({\n year: \"numeric\"\n }, \"year\") : _this.num(dt.year, 6);\n // eras\n\n case \"G\":\n // like AD\n return era(\"short\");\n\n case \"GG\":\n // like Anno Domini\n return era(\"long\");\n\n case \"GGGGG\":\n return era(\"narrow\");\n\n case \"kk\":\n return _this.num(dt.weekYear.toString().slice(-2), 2);\n\n case \"kkkk\":\n return _this.num(dt.weekYear, 4);\n\n case \"W\":\n return _this.num(dt.weekNumber);\n\n case \"WW\":\n return _this.num(dt.weekNumber, 2);\n\n case \"o\":\n return _this.num(dt.ordinal);\n\n case \"ooo\":\n return _this.num(dt.ordinal, 3);\n\n case \"q\":\n // like 1\n return _this.num(dt.quarter);\n\n case \"qq\":\n // like 01\n return _this.num(dt.quarter, 2);\n\n case \"X\":\n return _this.num(Math.floor(dt.ts / 1000));\n\n case \"x\":\n return _this.num(dt.ts);\n\n default:\n return maybeMacro(token);\n }\n };\n\n return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n };\n\n _proto.formatDurationFromString = function formatDurationFromString(dur, fmt) {\n var _this2 = this;\n\n var tokenToField = function tokenToField(token) {\n switch (token[0]) {\n case \"S\":\n return \"millisecond\";\n\n case \"s\":\n return \"second\";\n\n case \"m\":\n return \"minute\";\n\n case \"h\":\n return \"hour\";\n\n case \"d\":\n return \"day\";\n\n case \"w\":\n return \"week\";\n\n case \"M\":\n return \"month\";\n\n case \"y\":\n return \"year\";\n\n default:\n return null;\n }\n },\n tokenToString = function tokenToString(lildur) {\n return function (token) {\n var mapped = tokenToField(token);\n\n if (mapped) {\n return _this2.num(lildur.get(mapped), token.length);\n } else {\n return token;\n }\n };\n },\n tokens = Formatter.parseFormat(fmt),\n realTokens = tokens.reduce(function (found, _ref) {\n var literal = _ref.literal,\n val = _ref.val;\n return literal ? found : found.concat(val);\n }, []),\n collapsed = dur.shiftTo.apply(dur, realTokens.map(tokenToField).filter(function (t) {\n return t;\n }));\n\n return stringifyTokens(tokens, tokenToString(collapsed));\n };\n\n return Formatter;\n}();\n\nvar Invalid = /*#__PURE__*/function () {\n function Invalid(reason, explanation) {\n this.reason = reason;\n this.explanation = explanation;\n }\n\n var _proto = Invalid.prototype;\n\n _proto.toMessage = function toMessage() {\n if (this.explanation) {\n return this.reason + \": \" + this.explanation;\n } else {\n return this.reason;\n }\n };\n\n return Invalid;\n}();\n/**\n * @interface\n */\n\n\nvar Zone = /*#__PURE__*/function () {\n function Zone() {}\n\n var _proto = Zone.prototype;\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n\n _proto.offsetName = function offsetName(ts, opts) {\n throw new ZoneIsAbstractError();\n }\n /**\n * Returns the offset's value as a string\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n ;\n\n _proto.formatOffset = function formatOffset(ts, format) {\n throw new ZoneIsAbstractError();\n }\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n ;\n\n _proto.offset = function offset(ts) {\n throw new ZoneIsAbstractError();\n }\n /**\n * Return whether this Zone is equal to another zone\n * @abstract\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n ;\n\n _proto.equals = function equals(otherZone) {\n throw new ZoneIsAbstractError();\n }\n /**\n * Return whether this Zone is valid.\n * @abstract\n * @type {boolean}\n */\n ;\n\n _createClass(Zone, [{\n key: \"type\",\n get:\n /**\n * The type of zone\n * @abstract\n * @type {string}\n */\n function get() {\n throw new ZoneIsAbstractError();\n }\n /**\n * The name of this zone.\n * @abstract\n * @type {string}\n */\n\n }, {\n key: \"name\",\n get: function get() {\n throw new ZoneIsAbstractError();\n }\n }, {\n key: \"ianaName\",\n get: function get() {\n return this.name;\n }\n /**\n * Returns whether the offset is known to be fixed for the whole year.\n * @abstract\n * @type {boolean}\n */\n\n }, {\n key: \"isUniversal\",\n get: function get() {\n throw new ZoneIsAbstractError();\n }\n }, {\n key: \"isValid\",\n get: function get() {\n throw new ZoneIsAbstractError();\n }\n }]);\n\n return Zone;\n}();\n\nvar singleton$1 = null;\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\n\nvar SystemZone = /*#__PURE__*/function (_Zone) {\n _inheritsLoose(SystemZone, _Zone);\n\n function SystemZone() {\n return _Zone.apply(this, arguments) || this;\n }\n\n var _proto = SystemZone.prototype;\n /** @override **/\n\n _proto.offsetName = function offsetName(ts, _ref) {\n var format = _ref.format,\n locale = _ref.locale;\n return parseZoneInfo(ts, format, locale);\n }\n /** @override **/\n ;\n\n _proto.formatOffset = function formatOffset$1(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n /** @override **/\n ;\n\n _proto.offset = function offset(ts) {\n return -new Date(ts).getTimezoneOffset();\n }\n /** @override **/\n ;\n\n _proto.equals = function equals(otherZone) {\n return otherZone.type === \"system\";\n }\n /** @override **/\n ;\n\n _createClass(SystemZone, [{\n key: \"type\",\n get:\n /** @override **/\n function get() {\n return \"system\";\n }\n /** @override **/\n\n }, {\n key: \"name\",\n get: function get() {\n return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n /** @override **/\n\n }, {\n key: \"isUniversal\",\n get: function get() {\n return false;\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return true;\n }\n }], [{\n key: \"instance\",\n get:\n /**\n * Get a singleton instance of the local zone\n * @return {SystemZone}\n */\n function get() {\n if (singleton$1 === null) {\n singleton$1 = new SystemZone();\n }\n\n return singleton$1;\n }\n }]);\n\n return SystemZone;\n}(Zone);\n\nvar dtfCache = {};\n\nfunction makeDTF(zone) {\n if (!dtfCache[zone]) {\n dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n hour12: false,\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n era: \"short\"\n });\n }\n\n return dtfCache[zone];\n}\n\nvar typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n era: 3,\n hour: 4,\n minute: 5,\n second: 6\n};\n\nfunction hackyOffset(dtf, date) {\n var formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n fMonth = parsed[1],\n fDay = parsed[2],\n fYear = parsed[3],\n fadOrBc = parsed[4],\n fHour = parsed[5],\n fMinute = parsed[6],\n fSecond = parsed[7];\n return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n var formatted = dtf.formatToParts(date);\n var filled = [];\n\n for (var i = 0; i < formatted.length; i++) {\n var _formatted$i = formatted[i],\n type = _formatted$i.type,\n value = _formatted$i.value;\n var pos = typeToPos[type];\n\n if (type === \"era\") {\n filled[pos] = value;\n } else if (!isUndefined(pos)) {\n filled[pos] = parseInt(value, 10);\n }\n }\n\n return filled;\n}\n\nvar ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\n\nvar IANAZone = /*#__PURE__*/function (_Zone) {\n _inheritsLoose(IANAZone, _Zone);\n /**\n * @param {string} name - Zone name\n * @return {IANAZone}\n */\n\n\n IANAZone.create = function create(name) {\n if (!ianaZoneCache[name]) {\n ianaZoneCache[name] = new IANAZone(name);\n }\n\n return ianaZoneCache[name];\n }\n /**\n * Reset local caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n ;\n\n IANAZone.resetCache = function resetCache() {\n ianaZoneCache = {};\n dtfCache = {};\n }\n /**\n * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n * @param {string} s - The string to check validity on\n * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.\n * @return {boolean}\n */\n ;\n\n IANAZone.isValidSpecifier = function isValidSpecifier(s) {\n return this.isValidZone(s);\n }\n /**\n * Returns whether the provided string identifies a real zone\n * @param {string} zone - The string to check\n * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n ;\n\n IANAZone.isValidZone = function isValidZone(zone) {\n if (!zone) {\n return false;\n }\n\n try {\n new Intl.DateTimeFormat(\"en-US\", {\n timeZone: zone\n }).format();\n return true;\n } catch (e) {\n return false;\n }\n };\n\n function IANAZone(name) {\n var _this;\n\n _this = _Zone.call(this) || this;\n /** @private **/\n\n _this.zoneName = name;\n /** @private **/\n\n _this.valid = IANAZone.isValidZone(name);\n return _this;\n }\n /** @override **/\n\n\n var _proto = IANAZone.prototype;\n /** @override **/\n\n _proto.offsetName = function offsetName(ts, _ref) {\n var format = _ref.format,\n locale = _ref.locale;\n return parseZoneInfo(ts, format, locale, this.name);\n }\n /** @override **/\n ;\n\n _proto.formatOffset = function formatOffset$1(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n /** @override **/\n ;\n\n _proto.offset = function offset(ts) {\n var date = new Date(ts);\n if (isNaN(date)) return NaN;\n var dtf = makeDTF(this.name);\n\n var _ref2 = dtf.formatToParts ? partsOffset(dtf, date) : hackyOffset(dtf, date),\n year = _ref2[0],\n month = _ref2[1],\n day = _ref2[2],\n adOrBc = _ref2[3],\n hour = _ref2[4],\n minute = _ref2[5],\n second = _ref2[6];\n\n if (adOrBc === \"BC\") {\n year = -Math.abs(year) + 1;\n } // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n\n\n var adjustedHour = hour === 24 ? 0 : hour;\n var asUTC = objToLocalTS({\n year: year,\n month: month,\n day: day,\n hour: adjustedHour,\n minute: minute,\n second: second,\n millisecond: 0\n });\n var asTS = +date;\n var over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n }\n /** @override **/\n ;\n\n _proto.equals = function equals(otherZone) {\n return otherZone.type === \"iana\" && otherZone.name === this.name;\n }\n /** @override **/\n ;\n\n _createClass(IANAZone, [{\n key: \"type\",\n get: function get() {\n return \"iana\";\n }\n /** @override **/\n\n }, {\n key: \"name\",\n get: function get() {\n return this.zoneName;\n }\n /** @override **/\n\n }, {\n key: \"isUniversal\",\n get: function get() {\n return false;\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return this.valid;\n }\n }]);\n\n return IANAZone;\n}(Zone);\n\nvar singleton = null;\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\n\nvar FixedOffsetZone = /*#__PURE__*/function (_Zone) {\n _inheritsLoose(FixedOffsetZone, _Zone);\n /**\n * Get an instance with a specified offset\n * @param {number} offset - The offset in minutes\n * @return {FixedOffsetZone}\n */\n\n\n FixedOffsetZone.instance = function instance(offset) {\n return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n }\n /**\n * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n * @param {string} s - The offset string to parse\n * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n * @return {FixedOffsetZone}\n */\n ;\n\n FixedOffsetZone.parseSpecifier = function parseSpecifier(s) {\n if (s) {\n var r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n\n if (r) {\n return new FixedOffsetZone(signedOffset(r[1], r[2]));\n }\n }\n\n return null;\n };\n\n function FixedOffsetZone(offset) {\n var _this;\n\n _this = _Zone.call(this) || this;\n /** @private **/\n\n _this.fixed = offset;\n return _this;\n }\n /** @override **/\n\n\n var _proto = FixedOffsetZone.prototype;\n /** @override **/\n\n _proto.offsetName = function offsetName() {\n return this.name;\n }\n /** @override **/\n ;\n\n _proto.formatOffset = function formatOffset$1(ts, format) {\n return formatOffset(this.fixed, format);\n }\n /** @override **/\n ;\n /** @override **/\n\n\n _proto.offset = function offset() {\n return this.fixed;\n }\n /** @override **/\n ;\n\n _proto.equals = function equals(otherZone) {\n return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n }\n /** @override **/\n ;\n\n _createClass(FixedOffsetZone, [{\n key: \"type\",\n get: function get() {\n return \"fixed\";\n }\n /** @override **/\n\n }, {\n key: \"name\",\n get: function get() {\n return this.fixed === 0 ? \"UTC\" : \"UTC\" + formatOffset(this.fixed, \"narrow\");\n }\n }, {\n key: \"ianaName\",\n get: function get() {\n if (this.fixed === 0) {\n return \"Etc/UTC\";\n } else {\n return \"Etc/GMT\" + formatOffset(-this.fixed, \"narrow\");\n }\n }\n }, {\n key: \"isUniversal\",\n get: function get() {\n return true;\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return true;\n }\n }], [{\n key: \"utcInstance\",\n get:\n /**\n * Get a singleton instance of UTC\n * @return {FixedOffsetZone}\n */\n function get() {\n if (singleton === null) {\n singleton = new FixedOffsetZone(0);\n }\n\n return singleton;\n }\n }]);\n\n return FixedOffsetZone;\n}(Zone);\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\n\n\nvar InvalidZone = /*#__PURE__*/function (_Zone) {\n _inheritsLoose(InvalidZone, _Zone);\n\n function InvalidZone(zoneName) {\n var _this;\n\n _this = _Zone.call(this) || this;\n /** @private */\n\n _this.zoneName = zoneName;\n return _this;\n }\n /** @override **/\n\n\n var _proto = InvalidZone.prototype;\n /** @override **/\n\n _proto.offsetName = function offsetName() {\n return null;\n }\n /** @override **/\n ;\n\n _proto.formatOffset = function formatOffset() {\n return \"\";\n }\n /** @override **/\n ;\n\n _proto.offset = function offset() {\n return NaN;\n }\n /** @override **/\n ;\n\n _proto.equals = function equals() {\n return false;\n }\n /** @override **/\n ;\n\n _createClass(InvalidZone, [{\n key: \"type\",\n get: function get() {\n return \"invalid\";\n }\n /** @override **/\n\n }, {\n key: \"name\",\n get: function get() {\n return this.zoneName;\n }\n /** @override **/\n\n }, {\n key: \"isUniversal\",\n get: function get() {\n return false;\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return false;\n }\n }]);\n\n return InvalidZone;\n}(Zone);\n/**\n * @private\n */\n\n\nfunction normalizeZone(input, defaultZone) {\n if (isUndefined(input) || input === null) {\n return defaultZone;\n } else if (input instanceof Zone) {\n return input;\n } else if (isString(input)) {\n var lowered = input.toLowerCase();\n if (lowered === \"local\" || lowered === \"system\") return defaultZone;else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n } else if (isNumber(input)) {\n return FixedOffsetZone.instance(input);\n } else if (_typeof(input) === \"object\" && input.offset && typeof input.offset === \"number\") {\n // This is dumb, but the instanceof check above doesn't seem to really work\n // so we're duck checking it\n return input;\n } else {\n return new InvalidZone(input);\n }\n}\n\nvar now = function now() {\n return Date.now();\n},\n defaultZone = \"system\",\n defaultLocale = null,\n defaultNumberingSystem = null,\n defaultOutputCalendar = null,\n throwOnInvalid;\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\n\n\nvar Settings = /*#__PURE__*/function () {\n function Settings() {}\n /**\n * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n\n\n Settings.resetCaches = function resetCaches() {\n Locale.resetCache();\n IANAZone.resetCache();\n };\n\n _createClass(Settings, null, [{\n key: \"now\",\n get:\n /**\n * Get the callback for returning the current timestamp.\n * @type {function}\n */\n function get() {\n return now;\n }\n /**\n * Set the callback for returning the current timestamp.\n * The function should return a number, which will be interpreted as an Epoch millisecond count\n * @type {function}\n * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n */\n ,\n set: function set(n) {\n now = n;\n }\n /**\n * Set the default time zone to create DateTimes in. Does not affect existing instances.\n * Use the value \"system\" to reset this value to the system's time zone.\n * @type {string}\n */\n\n }, {\n key: \"defaultZone\",\n get:\n /**\n * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n * The default value is the system's time zone (the one set on the machine that runs this code).\n * @type {Zone}\n */\n function get() {\n return normalizeZone(defaultZone, SystemZone.instance);\n }\n /**\n * Get the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n ,\n set: function set(zone) {\n defaultZone = zone;\n }\n }, {\n key: \"defaultLocale\",\n get: function get() {\n return defaultLocale;\n }\n /**\n * Set the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n ,\n set: function set(locale) {\n defaultLocale = locale;\n }\n /**\n * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n\n }, {\n key: \"defaultNumberingSystem\",\n get: function get() {\n return defaultNumberingSystem;\n }\n /**\n * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n ,\n set: function set(numberingSystem) {\n defaultNumberingSystem = numberingSystem;\n }\n /**\n * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n\n }, {\n key: \"defaultOutputCalendar\",\n get: function get() {\n return defaultOutputCalendar;\n }\n /**\n * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n ,\n set: function set(outputCalendar) {\n defaultOutputCalendar = outputCalendar;\n }\n /**\n * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n\n }, {\n key: \"throwOnInvalid\",\n get: function get() {\n return throwOnInvalid;\n }\n /**\n * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n ,\n set: function set(t) {\n throwOnInvalid = t;\n }\n }]);\n\n return Settings;\n}();\n\nvar _excluded = [\"base\"],\n _excluded2 = [\"padTo\", \"floor\"];\nvar intlLFCache = {};\n\nfunction getCachedLF(locString, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var key = JSON.stringify([locString, opts]);\n var dtf = intlLFCache[key];\n\n if (!dtf) {\n dtf = new Intl.ListFormat(locString, opts);\n intlLFCache[key] = dtf;\n }\n\n return dtf;\n}\n\nvar intlDTCache = {};\n\nfunction getCachedDTF(locString, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var key = JSON.stringify([locString, opts]);\n var dtf = intlDTCache[key];\n\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(locString, opts);\n intlDTCache[key] = dtf;\n }\n\n return dtf;\n}\n\nvar intlNumCache = {};\n\nfunction getCachedINF(locString, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var key = JSON.stringify([locString, opts]);\n var inf = intlNumCache[key];\n\n if (!inf) {\n inf = new Intl.NumberFormat(locString, opts);\n intlNumCache[key] = inf;\n }\n\n return inf;\n}\n\nvar intlRelCache = {};\n\nfunction getCachedRTF(locString, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _opts = opts;\n _opts.base;\n\n var cacheKeyOpts = _objectWithoutPropertiesLoose(_opts, _excluded); // exclude `base` from the options\n\n\n var key = JSON.stringify([locString, cacheKeyOpts]);\n var inf = intlRelCache[key];\n\n if (!inf) {\n inf = new Intl.RelativeTimeFormat(locString, opts);\n intlRelCache[key] = inf;\n }\n\n return inf;\n}\n\nvar sysLocaleCache = null;\n\nfunction systemLocale() {\n if (sysLocaleCache) {\n return sysLocaleCache;\n } else {\n sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n return sysLocaleCache;\n }\n}\n\nfunction parseLocaleString(localeStr) {\n // I really want to avoid writing a BCP 47 parser\n // see, e.g. https://github.com/wooorm/bcp-47\n // Instead, we'll do this:\n // a) if the string has no -u extensions, just leave it alone\n // b) if it does, use Intl to resolve everything\n // c) if Intl fails, try again without the -u\n var uIndex = localeStr.indexOf(\"-u-\");\n\n if (uIndex === -1) {\n return [localeStr];\n } else {\n var options;\n var smaller = localeStr.substring(0, uIndex);\n\n try {\n options = getCachedDTF(localeStr).resolvedOptions();\n } catch (e) {\n options = getCachedDTF(smaller).resolvedOptions();\n }\n\n var _options = options,\n numberingSystem = _options.numberingSystem,\n calendar = _options.calendar; // return the smaller one so that we can append the calendar and numbering overrides to it\n\n return [smaller, numberingSystem, calendar];\n }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n if (outputCalendar || numberingSystem) {\n localeStr += \"-u\";\n\n if (outputCalendar) {\n localeStr += \"-ca-\" + outputCalendar;\n }\n\n if (numberingSystem) {\n localeStr += \"-nu-\" + numberingSystem;\n }\n\n return localeStr;\n } else {\n return localeStr;\n }\n}\n\nfunction mapMonths(f) {\n var ms = [];\n\n for (var i = 1; i <= 12; i++) {\n var dt = DateTime.utc(2016, i, 1);\n ms.push(f(dt));\n }\n\n return ms;\n}\n\nfunction mapWeekdays(f) {\n var ms = [];\n\n for (var i = 1; i <= 7; i++) {\n var dt = DateTime.utc(2016, 11, 13 + i);\n ms.push(f(dt));\n }\n\n return ms;\n}\n\nfunction listStuff(loc, length, defaultOK, englishFn, intlFn) {\n var mode = loc.listingMode(defaultOK);\n\n if (mode === \"error\") {\n return null;\n } else if (mode === \"en\") {\n return englishFn(length);\n } else {\n return intlFn(length);\n }\n}\n\nfunction supportsFastNumbers(loc) {\n if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n return false;\n } else {\n return loc.numberingSystem === \"latn\" || !loc.locale || loc.locale.startsWith(\"en\") || new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\";\n }\n}\n/**\n * @private\n */\n\n\nvar PolyNumberFormatter = /*#__PURE__*/function () {\n function PolyNumberFormatter(intl, forceSimple, opts) {\n this.padTo = opts.padTo || 0;\n this.floor = opts.floor || false;\n opts.padTo;\n opts.floor;\n\n var otherOpts = _objectWithoutPropertiesLoose(opts, _excluded2);\n\n if (!forceSimple || Object.keys(otherOpts).length > 0) {\n var intlOpts = _extends({\n useGrouping: false\n }, opts);\n\n if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n this.inf = getCachedINF(intl, intlOpts);\n }\n }\n\n var _proto = PolyNumberFormatter.prototype;\n\n _proto.format = function format(i) {\n if (this.inf) {\n var fixed = this.floor ? Math.floor(i) : i;\n return this.inf.format(fixed);\n } else {\n // to match the browser's numberformatter defaults\n var _fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n\n return padStart(_fixed, this.padTo);\n }\n };\n\n return PolyNumberFormatter;\n}();\n/**\n * @private\n */\n\n\nvar PolyDateFormatter = /*#__PURE__*/function () {\n function PolyDateFormatter(dt, intl, opts) {\n this.opts = opts;\n var z;\n\n if (dt.zone.isUniversal) {\n // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n // That is why fixed-offset TZ is set to that unless it is:\n // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n // 2. Unsupported by the browser:\n // - some do not support Etc/\n // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n var gmtOffset = -1 * (dt.offset / 60);\n var offsetZ = gmtOffset >= 0 ? \"Etc/GMT+\" + gmtOffset : \"Etc/GMT\" + gmtOffset;\n\n if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n z = offsetZ;\n this.dt = dt;\n } else {\n // Not all fixed-offset zones like Etc/+4:30 are present in tzdata.\n // So we have to make do. Two cases:\n // 1. The format options tell us to show the zone. We can't do that, so the best\n // we can do is format the date in UTC.\n // 2. The format options don't tell us to show the zone. Then we can adjust them\n // the time and tell the formatter to show it to us in UTC, so that the time is right\n // and the bad zone doesn't show up.\n z = \"UTC\";\n\n if (opts.timeZoneName) {\n this.dt = dt;\n } else {\n this.dt = dt.offset === 0 ? dt : DateTime.fromMillis(dt.ts + dt.offset * 60 * 1000);\n }\n }\n } else if (dt.zone.type === \"system\") {\n this.dt = dt;\n } else {\n this.dt = dt;\n z = dt.zone.name;\n }\n\n var intlOpts = _extends({}, this.opts);\n\n if (z) {\n intlOpts.timeZone = z;\n }\n\n this.dtf = getCachedDTF(intl, intlOpts);\n }\n\n var _proto2 = PolyDateFormatter.prototype;\n\n _proto2.format = function format() {\n return this.dtf.format(this.dt.toJSDate());\n };\n\n _proto2.formatToParts = function formatToParts() {\n return this.dtf.formatToParts(this.dt.toJSDate());\n };\n\n _proto2.resolvedOptions = function resolvedOptions() {\n return this.dtf.resolvedOptions();\n };\n\n return PolyDateFormatter;\n}();\n/**\n * @private\n */\n\n\nvar PolyRelFormatter = /*#__PURE__*/function () {\n function PolyRelFormatter(intl, isEnglish, opts) {\n this.opts = _extends({\n style: \"long\"\n }, opts);\n\n if (!isEnglish && hasRelative()) {\n this.rtf = getCachedRTF(intl, opts);\n }\n }\n\n var _proto3 = PolyRelFormatter.prototype;\n\n _proto3.format = function format(count, unit) {\n if (this.rtf) {\n return this.rtf.format(count, unit);\n } else {\n return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n }\n };\n\n _proto3.formatToParts = function formatToParts(count, unit) {\n if (this.rtf) {\n return this.rtf.formatToParts(count, unit);\n } else {\n return [];\n }\n };\n\n return PolyRelFormatter;\n}();\n/**\n * @private\n */\n\n\nvar Locale = /*#__PURE__*/function () {\n Locale.fromOpts = function fromOpts(opts) {\n return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);\n };\n\n Locale.create = function create(locale, numberingSystem, outputCalendar, defaultToEN) {\n if (defaultToEN === void 0) {\n defaultToEN = false;\n }\n\n var specifiedLocale = locale || Settings.defaultLocale; // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n\n var localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n var numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n var outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);\n };\n\n Locale.resetCache = function resetCache() {\n sysLocaleCache = null;\n intlDTCache = {};\n intlNumCache = {};\n intlRelCache = {};\n };\n\n Locale.fromObject = function fromObject(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n locale = _ref.locale,\n numberingSystem = _ref.numberingSystem,\n outputCalendar = _ref.outputCalendar;\n\n return Locale.create(locale, numberingSystem, outputCalendar);\n };\n\n function Locale(locale, numbering, outputCalendar, specifiedLocale) {\n var _parseLocaleString = parseLocaleString(locale),\n parsedLocale = _parseLocaleString[0],\n parsedNumberingSystem = _parseLocaleString[1],\n parsedOutputCalendar = _parseLocaleString[2];\n\n this.locale = parsedLocale;\n this.numberingSystem = numbering || parsedNumberingSystem || null;\n this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n this.weekdaysCache = {\n format: {},\n standalone: {}\n };\n this.monthsCache = {\n format: {},\n standalone: {}\n };\n this.meridiemCache = null;\n this.eraCache = {};\n this.specifiedLocale = specifiedLocale;\n this.fastNumbersCached = null;\n }\n\n var _proto4 = Locale.prototype;\n\n _proto4.listingMode = function listingMode() {\n var isActuallyEn = this.isEnglish();\n var hasNoWeirdness = (this.numberingSystem === null || this.numberingSystem === \"latn\") && (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n };\n\n _proto4.clone = function clone(alts) {\n if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n return this;\n } else {\n return Locale.create(alts.locale || this.specifiedLocale, alts.numberingSystem || this.numberingSystem, alts.outputCalendar || this.outputCalendar, alts.defaultToEN || false);\n }\n };\n\n _proto4.redefaultToEN = function redefaultToEN(alts) {\n if (alts === void 0) {\n alts = {};\n }\n\n return this.clone(_extends({}, alts, {\n defaultToEN: true\n }));\n };\n\n _proto4.redefaultToSystem = function redefaultToSystem(alts) {\n if (alts === void 0) {\n alts = {};\n }\n\n return this.clone(_extends({}, alts, {\n defaultToEN: false\n }));\n };\n\n _proto4.months = function months$1(length, format, defaultOK) {\n var _this = this;\n\n if (format === void 0) {\n format = false;\n }\n\n if (defaultOK === void 0) {\n defaultOK = true;\n }\n\n return listStuff(this, length, defaultOK, months, function () {\n var intl = format ? {\n month: length,\n day: \"numeric\"\n } : {\n month: length\n },\n formatStr = format ? \"format\" : \"standalone\";\n\n if (!_this.monthsCache[formatStr][length]) {\n _this.monthsCache[formatStr][length] = mapMonths(function (dt) {\n return _this.extract(dt, intl, \"month\");\n });\n }\n\n return _this.monthsCache[formatStr][length];\n });\n };\n\n _proto4.weekdays = function weekdays$1(length, format, defaultOK) {\n var _this2 = this;\n\n if (format === void 0) {\n format = false;\n }\n\n if (defaultOK === void 0) {\n defaultOK = true;\n }\n\n return listStuff(this, length, defaultOK, weekdays, function () {\n var intl = format ? {\n weekday: length,\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n } : {\n weekday: length\n },\n formatStr = format ? \"format\" : \"standalone\";\n\n if (!_this2.weekdaysCache[formatStr][length]) {\n _this2.weekdaysCache[formatStr][length] = mapWeekdays(function (dt) {\n return _this2.extract(dt, intl, \"weekday\");\n });\n }\n\n return _this2.weekdaysCache[formatStr][length];\n });\n };\n\n _proto4.meridiems = function meridiems$1(defaultOK) {\n var _this3 = this;\n\n if (defaultOK === void 0) {\n defaultOK = true;\n }\n\n return listStuff(this, undefined, defaultOK, function () {\n return meridiems;\n }, function () {\n // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n if (!_this3.meridiemCache) {\n var intl = {\n hour: \"numeric\",\n hourCycle: \"h12\"\n };\n _this3.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(function (dt) {\n return _this3.extract(dt, intl, \"dayperiod\");\n });\n }\n\n return _this3.meridiemCache;\n });\n };\n\n _proto4.eras = function eras$1(length, defaultOK) {\n var _this4 = this;\n\n if (defaultOK === void 0) {\n defaultOK = true;\n }\n\n return listStuff(this, length, defaultOK, eras, function () {\n var intl = {\n era: length\n }; // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n // to definitely enumerate them.\n\n if (!_this4.eraCache[length]) {\n _this4.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(function (dt) {\n return _this4.extract(dt, intl, \"era\");\n });\n }\n\n return _this4.eraCache[length];\n });\n };\n\n _proto4.extract = function extract(dt, intlOpts, field) {\n var df = this.dtFormatter(dt, intlOpts),\n results = df.formatToParts(),\n matching = results.find(function (m) {\n return m.type.toLowerCase() === field;\n });\n return matching ? matching.value : null;\n };\n\n _proto4.numberFormatter = function numberFormatter(opts) {\n if (opts === void 0) {\n opts = {};\n } // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n // (in contrast, the rest of the condition is used heavily)\n\n\n return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n };\n\n _proto4.dtFormatter = function dtFormatter(dt, intlOpts) {\n if (intlOpts === void 0) {\n intlOpts = {};\n }\n\n return new PolyDateFormatter(dt, this.intl, intlOpts);\n };\n\n _proto4.relFormatter = function relFormatter(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n };\n\n _proto4.listFormatter = function listFormatter(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return getCachedLF(this.intl, opts);\n };\n\n _proto4.isEnglish = function isEnglish() {\n return this.locale === \"en\" || this.locale.toLowerCase() === \"en-us\" || new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\");\n };\n\n _proto4.equals = function equals(other) {\n return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar;\n };\n\n _createClass(Locale, [{\n key: \"fastNumbers\",\n get: function get() {\n if (this.fastNumbersCached == null) {\n this.fastNumbersCached = supportsFastNumbers(this);\n }\n\n return this.fastNumbersCached;\n }\n }]);\n\n return Locale;\n}();\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\n\nfunction combineRegexes() {\n for (var _len = arguments.length, regexes = new Array(_len), _key = 0; _key < _len; _key++) {\n regexes[_key] = arguments[_key];\n }\n\n var full = regexes.reduce(function (f, r) {\n return f + r.source;\n }, \"\");\n return RegExp(\"^\" + full + \"$\");\n}\n\nfunction combineExtractors() {\n for (var _len2 = arguments.length, extractors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n extractors[_key2] = arguments[_key2];\n }\n\n return function (m) {\n return extractors.reduce(function (_ref, ex) {\n var mergedVals = _ref[0],\n mergedZone = _ref[1],\n cursor = _ref[2];\n\n var _ex = ex(m, cursor),\n val = _ex[0],\n zone = _ex[1],\n next = _ex[2];\n\n return [_extends({}, mergedVals, val), zone || mergedZone, next];\n }, [{}, null, 1]).slice(0, 2);\n };\n}\n\nfunction parse(s) {\n if (s == null) {\n return [null, null];\n }\n\n for (var _len3 = arguments.length, patterns = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n patterns[_key3 - 1] = arguments[_key3];\n }\n\n for (var _i = 0, _patterns = patterns; _i < _patterns.length; _i++) {\n var _patterns$_i = _patterns[_i],\n regex = _patterns$_i[0],\n extractor = _patterns$_i[1];\n var m = regex.exec(s);\n\n if (m) {\n return extractor(m);\n }\n }\n\n return [null, null];\n}\n\nfunction simpleParse() {\n for (var _len4 = arguments.length, keys = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n keys[_key4] = arguments[_key4];\n }\n\n return function (match, cursor) {\n var ret = {};\n var i;\n\n for (i = 0; i < keys.length; i++) {\n ret[keys[i]] = parseInteger(match[cursor + i]);\n }\n\n return [ret, null, cursor + i];\n };\n} // ISO and SQL parsing\n\n\nvar offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nvar isoExtendedZone = \"(?:\" + offsetRegex.source + \"?(?:\\\\[(\" + ianaRegex.source + \")\\\\])?)?\";\nvar isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nvar isoTimeRegex = RegExp(\"\" + isoTimeBaseRegex.source + isoExtendedZone);\nvar isoTimeExtensionRegex = RegExp(\"(?:T\" + isoTimeRegex.source + \")?\");\nvar isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nvar isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nvar isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nvar extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nvar extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nvar sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\n\nvar sqlTimeRegex = RegExp(isoTimeBaseRegex.source + \" ?(?:\" + offsetRegex.source + \"|(\" + ianaRegex.source + \"))?\");\nvar sqlTimeExtensionRegex = RegExp(\"(?: \" + sqlTimeRegex.source + \")?\");\n\nfunction _int(match, pos, fallback) {\n var m = match[pos];\n return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n var item = {\n year: _int(match, cursor),\n month: _int(match, cursor + 1, 1),\n day: _int(match, cursor + 2, 1)\n };\n return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n var item = {\n hours: _int(match, cursor, 0),\n minutes: _int(match, cursor + 1, 0),\n seconds: _int(match, cursor + 2, 0),\n milliseconds: parseMillis(match[cursor + 3])\n };\n return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n var local = !match[cursor] && !match[cursor + 1],\n fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n zone = local ? null : FixedOffsetZone.instance(fullOffset);\n return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n var zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n return [{}, zone, cursor + 1];\n} // ISO time parsing\n\n\nvar isoTimeOnly = RegExp(\"^T?\" + isoTimeBaseRegex.source + \"$\"); // ISO duration parsing\n\nvar isoDuration = /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n var s = match[0],\n yearStr = match[1],\n monthStr = match[2],\n weekStr = match[3],\n dayStr = match[4],\n hourStr = match[5],\n minuteStr = match[6],\n secondStr = match[7],\n millisecondsStr = match[8];\n var hasNegativePrefix = s[0] === \"-\";\n var negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n var maybeNegate = function maybeNegate(num, force) {\n if (force === void 0) {\n force = false;\n }\n\n return num !== undefined && (force || num && hasNegativePrefix) ? -num : num;\n };\n\n return [{\n years: maybeNegate(parseFloating(yearStr)),\n months: maybeNegate(parseFloating(monthStr)),\n weeks: maybeNegate(parseFloating(weekStr)),\n days: maybeNegate(parseFloating(dayStr)),\n hours: maybeNegate(parseFloating(hourStr)),\n minutes: maybeNegate(parseFloating(minuteStr)),\n seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds)\n }];\n} // These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\n\n\nvar obsOffsets = {\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\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = {\n year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n month: monthsShort.indexOf(monthStr) + 1,\n day: parseInteger(dayStr),\n hour: parseInteger(hourStr),\n minute: parseInteger(minuteStr)\n };\n if (secondStr) result.second = parseInteger(secondStr);\n\n if (weekdayStr) {\n result.weekday = weekdayStr.length > 3 ? weekdaysLong.indexOf(weekdayStr) + 1 : weekdaysShort.indexOf(weekdayStr) + 1;\n }\n\n return result;\n} // RFC 2822/5322\n\n\nvar rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n var weekdayStr = match[1],\n dayStr = match[2],\n monthStr = match[3],\n yearStr = match[4],\n hourStr = match[5],\n minuteStr = match[6],\n secondStr = match[7],\n obsOffset = match[8],\n milOffset = match[9],\n offHourStr = match[10],\n offMinuteStr = match[11],\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n var offset;\n\n if (obsOffset) {\n offset = obsOffsets[obsOffset];\n } else if (milOffset) {\n offset = 0;\n } else {\n offset = signedOffset(offHourStr, offMinuteStr);\n }\n\n return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^()]*\\)|[\\n\\t]/g, \" \").replace(/(\\s\\s+)/g, \" \").trim();\n} // http date\n\n\nvar rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n var weekdayStr = match[1],\n dayStr = match[2],\n monthStr = match[3],\n yearStr = match[4],\n hourStr = match[5],\n minuteStr = match[6],\n secondStr = match[7],\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n var weekdayStr = match[1],\n monthStr = match[2],\n dayStr = match[3],\n hourStr = match[4],\n minuteStr = match[5],\n secondStr = match[6],\n yearStr = match[7],\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nvar isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nvar isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nvar isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nvar isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\nvar extractISOYmdTimeAndOffset = combineExtractors(extractISOYmd, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOWeekTimeAndOffset = combineExtractors(extractISOWeekData, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOOrdinalDateAndTime = combineExtractors(extractISOOrdinalData, extractISOTime, extractISOOffset, extractIANAZone);\nvar extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\n/*\n * @private\n */\n\nfunction parseISODate(s) {\n return parse(s, [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset], [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime], [isoTimeCombinedRegex, extractISOTimeAndOffset]);\n}\n\nfunction parseRFC2822Date(s) {\n return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nfunction parseHTTPDate(s) {\n return parse(s, [rfc1123, extractRFC1123Or850], [rfc850, extractRFC1123Or850], [ascii, extractASCII]);\n}\n\nfunction parseISODuration(s) {\n return parse(s, [isoDuration, extractISODuration]);\n}\n\nvar extractISOTimeOnly = combineExtractors(extractISOTime);\n\nfunction parseISOTimeOnly(s) {\n return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nvar sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nvar sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\nvar extractISOTimeOffsetAndIANAZone = combineExtractors(extractISOTime, extractISOOffset, extractIANAZone);\n\nfunction parseSQL(s) {\n return parse(s, [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset], [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]);\n}\n\nvar INVALID$2 = \"Invalid Duration\"; // unit conversion constants\n\nvar lowOrderMatrix = {\n weeks: {\n days: 7,\n hours: 7 * 24,\n minutes: 7 * 24 * 60,\n seconds: 7 * 24 * 60 * 60,\n milliseconds: 7 * 24 * 60 * 60 * 1000\n },\n days: {\n hours: 24,\n minutes: 24 * 60,\n seconds: 24 * 60 * 60,\n milliseconds: 24 * 60 * 60 * 1000\n },\n hours: {\n minutes: 60,\n seconds: 60 * 60,\n milliseconds: 60 * 60 * 1000\n },\n minutes: {\n seconds: 60,\n milliseconds: 60 * 1000\n },\n seconds: {\n milliseconds: 1000\n }\n},\n casualMatrix = _extends({\n years: {\n quarters: 4,\n months: 12,\n weeks: 52,\n days: 365,\n hours: 365 * 24,\n minutes: 365 * 24 * 60,\n seconds: 365 * 24 * 60 * 60,\n milliseconds: 365 * 24 * 60 * 60 * 1000\n },\n quarters: {\n months: 3,\n weeks: 13,\n days: 91,\n hours: 91 * 24,\n minutes: 91 * 24 * 60,\n seconds: 91 * 24 * 60 * 60,\n milliseconds: 91 * 24 * 60 * 60 * 1000\n },\n months: {\n weeks: 4,\n days: 30,\n hours: 30 * 24,\n minutes: 30 * 24 * 60,\n seconds: 30 * 24 * 60 * 60,\n milliseconds: 30 * 24 * 60 * 60 * 1000\n }\n}, lowOrderMatrix),\n daysInYearAccurate = 146097.0 / 400,\n daysInMonthAccurate = 146097.0 / 4800,\n accurateMatrix = _extends({\n years: {\n quarters: 4,\n months: 12,\n weeks: daysInYearAccurate / 7,\n days: daysInYearAccurate,\n hours: daysInYearAccurate * 24,\n minutes: daysInYearAccurate * 24 * 60,\n seconds: daysInYearAccurate * 24 * 60 * 60,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000\n },\n quarters: {\n months: 3,\n weeks: daysInYearAccurate / 28,\n days: daysInYearAccurate / 4,\n hours: daysInYearAccurate * 24 / 4,\n minutes: daysInYearAccurate * 24 * 60 / 4,\n seconds: daysInYearAccurate * 24 * 60 * 60 / 4,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000 / 4\n },\n months: {\n weeks: daysInMonthAccurate / 7,\n days: daysInMonthAccurate,\n hours: daysInMonthAccurate * 24,\n minutes: daysInMonthAccurate * 24 * 60,\n seconds: daysInMonthAccurate * 24 * 60 * 60,\n milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000\n }\n}, lowOrderMatrix); // units ordered by size\n\n\nvar orderedUnits$1 = [\"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\nvar reverseUnits = orderedUnits$1.slice(0).reverse(); // clone really means \"create another instance just like this one, but with these changes\"\n\nfunction clone$1(dur, alts, clear) {\n if (clear === void 0) {\n clear = false;\n } // deep merge for vals\n\n\n var conf = {\n values: clear ? alts.values : _extends({}, dur.values, alts.values || {}),\n loc: dur.loc.clone(alts.loc),\n conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy\n };\n return new Duration(conf);\n}\n\nfunction antiTrunc(n) {\n return n < 0 ? Math.floor(n) : Math.ceil(n);\n} // NB: mutates parameters\n\n\nfunction convert(matrix, fromMap, fromUnit, toMap, toUnit) {\n var conv = matrix[toUnit][fromUnit],\n raw = fromMap[fromUnit] / conv,\n sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]),\n // ok, so this is wild, but see the matrix in the tests\n added = !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw);\n toMap[toUnit] += added;\n fromMap[fromUnit] -= added * conv;\n} // NB: mutates parameters\n\n\nfunction normalizeValues(matrix, vals) {\n reverseUnits.reduce(function (previous, current) {\n if (!isUndefined(vals[current])) {\n if (previous) {\n convert(matrix, vals, previous, vals, current);\n }\n\n return current;\n } else {\n return previous;\n }\n }, null);\n}\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration#fromMillis}, {@link Duration#fromObject}, or {@link Duration#fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\n\n\nvar Duration = /*#__PURE__*/function () {\n /**\n * @private\n */\n function Duration(config) {\n var accurate = config.conversionAccuracy === \"longterm\" || false;\n /**\n * @access private\n */\n\n this.values = config.values;\n /**\n * @access private\n */\n\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n\n this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n /**\n * @access private\n */\n\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n\n this.matrix = accurate ? accurateMatrix : casualMatrix;\n /**\n * @access private\n */\n\n this.isLuxonDuration = true;\n }\n /**\n * Create Duration from a number of milliseconds.\n * @param {number} count of milliseconds\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n\n\n Duration.fromMillis = function fromMillis(count, opts) {\n return Duration.fromObject({\n milliseconds: count\n }, opts);\n }\n /**\n * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n * If this object is empty then a zero milliseconds duration is returned.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.years\n * @param {number} obj.quarters\n * @param {number} obj.months\n * @param {number} obj.weeks\n * @param {number} obj.days\n * @param {number} obj.hours\n * @param {number} obj.minutes\n * @param {number} obj.seconds\n * @param {number} obj.milliseconds\n * @param {Object} [opts=[]] - options for creating this Duration\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n ;\n\n Duration.fromObject = function fromObject(obj, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n if (obj == null || _typeof(obj) !== \"object\") {\n throw new InvalidArgumentError(\"Duration.fromObject: argument expected to be an object, got \" + (obj === null ? \"null\" : _typeof(obj)));\n }\n\n return new Duration({\n values: normalizeObject(obj, Duration.normalizeUnit),\n loc: Locale.fromObject(opts),\n conversionAccuracy: opts.conversionAccuracy\n });\n }\n /**\n * Create a Duration from DurationLike.\n *\n * @param {Object | number | Duration} durationLike\n * One of:\n * - object with keys like 'years' and 'hours'.\n * - number representing milliseconds\n * - Duration instance\n * @return {Duration}\n */\n ;\n\n Duration.fromDurationLike = function fromDurationLike(durationLike) {\n if (isNumber(durationLike)) {\n return Duration.fromMillis(durationLike);\n } else if (Duration.isDuration(durationLike)) {\n return durationLike;\n } else if (_typeof(durationLike) === \"object\") {\n return Duration.fromObject(durationLike);\n } else {\n throw new InvalidArgumentError(\"Unknown duration argument \" + durationLike + \" of type \" + _typeof(durationLike));\n }\n }\n /**\n * Create a Duration from an ISO 8601 duration string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n * @return {Duration}\n */\n ;\n\n Duration.fromISO = function fromISO(text, opts) {\n var _parseISODuration = parseISODuration(text),\n parsed = _parseISODuration[0];\n\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n }\n }\n /**\n * Create a Duration from an ISO 8601 time string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @return {Duration}\n */\n ;\n\n Duration.fromISOTime = function fromISOTime(text, opts) {\n var _parseISOTimeOnly = parseISOTimeOnly(text),\n parsed = _parseISOTimeOnly[0];\n\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n }\n }\n /**\n * Create an invalid Duration.\n * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Duration}\n */\n ;\n\n Duration.invalid = function invalid(reason, explanation) {\n if (explanation === void 0) {\n explanation = null;\n }\n\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n }\n\n var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDurationError(invalid);\n } else {\n return new Duration({\n invalid: invalid\n });\n }\n }\n /**\n * @private\n */\n ;\n\n Duration.normalizeUnit = function normalizeUnit(unit) {\n var normalized = {\n year: \"years\",\n years: \"years\",\n quarter: \"quarters\",\n quarters: \"quarters\",\n month: \"months\",\n months: \"months\",\n week: \"weeks\",\n weeks: \"weeks\",\n day: \"days\",\n days: \"days\",\n hour: \"hours\",\n hours: \"hours\",\n minute: \"minutes\",\n minutes: \"minutes\",\n second: \"seconds\",\n seconds: \"seconds\",\n millisecond: \"milliseconds\",\n milliseconds: \"milliseconds\"\n }[unit ? unit.toLowerCase() : unit];\n if (!normalized) throw new InvalidUnitError(unit);\n return normalized;\n }\n /**\n * Check if an object is a Duration. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n ;\n\n Duration.isDuration = function isDuration(o) {\n return o && o.isLuxonDuration || false;\n }\n /**\n * Get the locale of a Duration, such 'en-GB'\n * @type {string}\n */\n ;\n\n var _proto = Duration.prototype;\n /**\n * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n * * `S` for milliseconds\n * * `s` for seconds\n * * `m` for minutes\n * * `h` for hours\n * * `d` for days\n * * `w` for weeks\n * * `M` for months\n * * `y` for years\n * Notes:\n * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n * * Tokens can be escaped by wrapping with single quotes.\n * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n * @param {string} fmt - the format string\n * @param {Object} opts - options\n * @param {boolean} [opts.floor=true] - floor numerical values\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n * @return {string}\n */\n\n _proto.toFormat = function toFormat(fmt, opts) {\n if (opts === void 0) {\n opts = {};\n } // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n\n\n var fmtOpts = _extends({}, opts, {\n floor: opts.round !== false && opts.floor !== false\n });\n\n return this.isValid ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt) : INVALID$2;\n }\n /**\n * Returns a string representation of a Duration with all units included.\n * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.\n * @example\n * ```js\n * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n * ```\n */\n ;\n\n _proto.toHuman = function toHuman(opts) {\n var _this = this;\n\n if (opts === void 0) {\n opts = {};\n }\n\n var l = orderedUnits$1.map(function (unit) {\n var val = _this.values[unit];\n\n if (isUndefined(val)) {\n return null;\n }\n\n return _this.loc.numberFormatter(_extends({\n style: \"unit\",\n unitDisplay: \"long\"\n }, opts, {\n unit: unit.slice(0, -1)\n })).format(val);\n }).filter(function (n) {\n return n;\n });\n return this.loc.listFormatter(_extends({\n type: \"conjunction\",\n style: opts.listStyle || \"narrow\"\n }, opts)).format(l);\n }\n /**\n * Returns a JavaScript object with this Duration's values.\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n * @return {Object}\n */\n ;\n\n _proto.toObject = function toObject() {\n if (!this.isValid) return {};\n return _extends({}, this.values);\n }\n /**\n * Returns an ISO 8601-compliant string representation of this Duration.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n * @return {string}\n */\n ;\n\n _proto.toISO = function toISO() {\n // we could use the formatter, but this is an easier way to get the minimum string\n if (!this.isValid) return null;\n var s = \"P\";\n if (this.years !== 0) s += this.years + \"Y\";\n if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n if (this.weeks !== 0) s += this.weeks + \"W\";\n if (this.days !== 0) s += this.days + \"D\";\n if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0) s += \"T\";\n if (this.hours !== 0) s += this.hours + \"H\";\n if (this.minutes !== 0) s += this.minutes + \"M\";\n if (this.seconds !== 0 || this.milliseconds !== 0) // this will handle \"floating point madness\" by removing extra decimal places\n // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n if (s === \"P\") s += \"T0S\";\n return s;\n }\n /**\n * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n * @return {string}\n */\n ;\n\n _proto.toISOTime = function toISOTime(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n if (!this.isValid) return null;\n var millis = this.toMillis();\n if (millis < 0 || millis >= 86400000) return null;\n opts = _extends({\n suppressMilliseconds: false,\n suppressSeconds: false,\n includePrefix: false,\n format: \"extended\"\n }, opts);\n var value = this.shiftTo(\"hours\", \"minutes\", \"seconds\", \"milliseconds\");\n var fmt = opts.format === \"basic\" ? \"hhmm\" : \"hh:mm\";\n\n if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) {\n fmt += opts.format === \"basic\" ? \"ss\" : \":ss\";\n\n if (!opts.suppressMilliseconds || value.milliseconds !== 0) {\n fmt += \".SSS\";\n }\n }\n\n var str = value.toFormat(fmt);\n\n if (opts.includePrefix) {\n str = \"T\" + str;\n }\n\n return str;\n }\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n * @return {string}\n */\n ;\n\n _proto.toJSON = function toJSON() {\n return this.toISO();\n }\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n * @return {string}\n */\n ;\n\n _proto.toString = function toString() {\n return this.toISO();\n }\n /**\n * Returns an milliseconds value of this Duration.\n * @return {number}\n */\n ;\n\n _proto.toMillis = function toMillis() {\n return this.as(\"milliseconds\");\n }\n /**\n * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n * @return {number}\n */\n ;\n\n _proto.valueOf = function valueOf() {\n return this.toMillis();\n }\n /**\n * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n ;\n\n _proto.plus = function plus(duration) {\n if (!this.isValid) return this;\n var dur = Duration.fromDurationLike(duration),\n result = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(orderedUnits$1), _step; !(_step = _iterator()).done;) {\n var k = _step.value;\n\n if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n result[k] = dur.get(k) + this.get(k);\n }\n }\n\n return clone$1(this, {\n values: result\n }, true);\n }\n /**\n * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n ;\n\n _proto.minus = function minus(duration) {\n if (!this.isValid) return this;\n var dur = Duration.fromDurationLike(duration);\n return this.plus(dur.negate());\n }\n /**\n * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hour\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n * @return {Duration}\n */\n ;\n\n _proto.mapUnits = function mapUnits(fn) {\n if (!this.isValid) return this;\n var result = {};\n\n for (var _i = 0, _Object$keys = Object.keys(this.values); _i < _Object$keys.length; _i++) {\n var k = _Object$keys[_i];\n result[k] = asNumber(fn(this.values[k], k));\n }\n\n return clone$1(this, {\n values: result\n }, true);\n }\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n * @return {number}\n */\n ;\n\n _proto.get = function get(unit) {\n return this[Duration.normalizeUnit(unit)];\n }\n /**\n * \"Set\" the values of specified units. Return a newly-constructed Duration.\n * @param {Object} values - a mapping of units to numbers\n * @example dur.set({ years: 2017 })\n * @example dur.set({ hours: 8, minutes: 30 })\n * @return {Duration}\n */\n ;\n\n _proto.set = function set(values) {\n if (!this.isValid) return this;\n\n var mixed = _extends({}, this.values, normalizeObject(values, Duration.normalizeUnit));\n\n return clone$1(this, {\n values: mixed\n });\n }\n /**\n * \"Set\" the locale and/or numberingSystem. Returns a newly-constructed Duration.\n * @example dur.reconfigure({ locale: 'en-GB' })\n * @return {Duration}\n */\n ;\n\n _proto.reconfigure = function reconfigure(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n locale = _ref.locale,\n numberingSystem = _ref.numberingSystem,\n conversionAccuracy = _ref.conversionAccuracy;\n\n var loc = this.loc.clone({\n locale: locale,\n numberingSystem: numberingSystem\n }),\n opts = {\n loc: loc\n };\n\n if (conversionAccuracy) {\n opts.conversionAccuracy = conversionAccuracy;\n }\n\n return clone$1(this, opts);\n }\n /**\n * Return the length of the duration in the specified unit.\n * @param {string} unit - a unit such as 'minutes' or 'days'\n * @example Duration.fromObject({years: 1}).as('days') //=> 365\n * @example Duration.fromObject({years: 1}).as('months') //=> 12\n * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n * @return {number}\n */\n ;\n\n _proto.as = function as(unit) {\n return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n }\n /**\n * Reduce this Duration to its canonical representation in its current units.\n * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n * @return {Duration}\n */\n ;\n\n _proto.normalize = function normalize() {\n if (!this.isValid) return this;\n var vals = this.toObject();\n normalizeValues(this.matrix, vals);\n return clone$1(this, {\n values: vals\n }, true);\n }\n /**\n * Convert this Duration into its representation in a different set of units.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n * @return {Duration}\n */\n ;\n\n _proto.shiftTo = function shiftTo() {\n for (var _len = arguments.length, units = new Array(_len), _key = 0; _key < _len; _key++) {\n units[_key] = arguments[_key];\n }\n\n if (!this.isValid) return this;\n\n if (units.length === 0) {\n return this;\n }\n\n units = units.map(function (u) {\n return Duration.normalizeUnit(u);\n });\n var built = {},\n accumulated = {},\n vals = this.toObject();\n var lastUnit;\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(orderedUnits$1), _step2; !(_step2 = _iterator2()).done;) {\n var k = _step2.value;\n\n if (units.indexOf(k) >= 0) {\n lastUnit = k;\n var own = 0; // anything we haven't boiled down yet should get boiled to this unit\n\n for (var ak in accumulated) {\n own += this.matrix[ak][k] * accumulated[ak];\n accumulated[ak] = 0;\n } // plus anything that's already in this unit\n\n\n if (isNumber(vals[k])) {\n own += vals[k];\n }\n\n var i = Math.trunc(own);\n built[k] = i;\n accumulated[k] = (own * 1000 - i * 1000) / 1000; // plus anything further down the chain that should be rolled up in to this\n\n for (var down in vals) {\n if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) {\n convert(this.matrix, vals, down, built, k);\n }\n } // otherwise, keep it in the wings to boil it later\n\n } else if (isNumber(vals[k])) {\n accumulated[k] = vals[k];\n }\n } // anything leftover becomes the decimal for the last unit\n // lastUnit must be defined since units is not empty\n\n\n for (var key in accumulated) {\n if (accumulated[key] !== 0) {\n built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n }\n }\n\n return clone$1(this, {\n values: built\n }, true).normalize();\n }\n /**\n * Return the negative of this Duration.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n * @return {Duration}\n */\n ;\n\n _proto.negate = function negate() {\n if (!this.isValid) return this;\n var negated = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(this.values); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n }\n\n return clone$1(this, {\n values: negated\n }, true);\n }\n /**\n * Get the years.\n * @type {number}\n */\n ;\n /**\n * Equality check\n * Two Durations are equal iff they have the same units and the same values for each unit.\n * @param {Duration} other\n * @return {boolean}\n */\n\n\n _proto.equals = function equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n if (!this.loc.equals(other.loc)) {\n return false;\n }\n\n function eq(v1, v2) {\n // Consider 0 and undefined as equal\n if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n return v1 === v2;\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(orderedUnits$1), _step3; !(_step3 = _iterator3()).done;) {\n var u = _step3.value;\n\n if (!eq(this.values[u], other.values[u])) {\n return false;\n }\n }\n\n return true;\n };\n\n _createClass(Duration, [{\n key: \"locale\",\n get: function get() {\n return this.isValid ? this.loc.locale : null;\n }\n /**\n * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n *\n * @type {string}\n */\n\n }, {\n key: \"numberingSystem\",\n get: function get() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n }, {\n key: \"years\",\n get: function get() {\n return this.isValid ? this.values.years || 0 : NaN;\n }\n /**\n * Get the quarters.\n * @type {number}\n */\n\n }, {\n key: \"quarters\",\n get: function get() {\n return this.isValid ? this.values.quarters || 0 : NaN;\n }\n /**\n * Get the months.\n * @type {number}\n */\n\n }, {\n key: \"months\",\n get: function get() {\n return this.isValid ? this.values.months || 0 : NaN;\n }\n /**\n * Get the weeks\n * @type {number}\n */\n\n }, {\n key: \"weeks\",\n get: function get() {\n return this.isValid ? this.values.weeks || 0 : NaN;\n }\n /**\n * Get the days.\n * @type {number}\n */\n\n }, {\n key: \"days\",\n get: function get() {\n return this.isValid ? this.values.days || 0 : NaN;\n }\n /**\n * Get the hours.\n * @type {number}\n */\n\n }, {\n key: \"hours\",\n get: function get() {\n return this.isValid ? this.values.hours || 0 : NaN;\n }\n /**\n * Get the minutes.\n * @type {number}\n */\n\n }, {\n key: \"minutes\",\n get: function get() {\n return this.isValid ? this.values.minutes || 0 : NaN;\n }\n /**\n * Get the seconds.\n * @return {number}\n */\n\n }, {\n key: \"seconds\",\n get: function get() {\n return this.isValid ? this.values.seconds || 0 : NaN;\n }\n /**\n * Get the milliseconds.\n * @return {number}\n */\n\n }, {\n key: \"milliseconds\",\n get: function get() {\n return this.isValid ? this.values.milliseconds || 0 : NaN;\n }\n /**\n * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n * on invalid DateTimes or Intervals.\n * @return {boolean}\n */\n\n }, {\n key: \"isValid\",\n get: function get() {\n return this.invalid === null;\n }\n /**\n * Returns an error code if this Duration became invalid, or null if the Duration is valid\n * @return {string}\n */\n\n }, {\n key: \"invalidReason\",\n get: function get() {\n return this.invalid ? this.invalid.reason : null;\n }\n /**\n * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n * @type {string}\n */\n\n }, {\n key: \"invalidExplanation\",\n get: function get() {\n return this.invalid ? this.invalid.explanation : null;\n }\n }]);\n\n return Duration;\n}();\n\nvar INVALID$1 = \"Invalid Interval\"; // checks if the start is equal to or before the end\n\nfunction validateStartEnd(start, end) {\n if (!start || !start.isValid) {\n return Interval.invalid(\"missing or invalid start\");\n } else if (!end || !end.isValid) {\n return Interval.invalid(\"missing or invalid end\");\n } else if (end < start) {\n return Interval.invalid(\"end before start\", \"The end of an interval must be after its start, but you had start=\" + start.toISO() + \" and end=\" + end.toISO());\n } else {\n return null;\n }\n}\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval#fromDateTimes}, {@link Interval#after}, {@link Interval#before}, or {@link Interval#fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval#merge}, {@link Interval#xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\n\n\nvar Interval = /*#__PURE__*/function () {\n /**\n * @private\n */\n function Interval(config) {\n /**\n * @access private\n */\n this.s = config.start;\n /**\n * @access private\n */\n\n this.e = config.end;\n /**\n * @access private\n */\n\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n\n this.isLuxonInterval = true;\n }\n /**\n * Create an invalid Interval.\n * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Interval}\n */\n\n\n Interval.invalid = function invalid(reason, explanation) {\n if (explanation === void 0) {\n explanation = null;\n }\n\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n }\n\n var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidIntervalError(invalid);\n } else {\n return new Interval({\n invalid: invalid\n });\n }\n }\n /**\n * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n * @param {DateTime|Date|Object} start\n * @param {DateTime|Date|Object} end\n * @return {Interval}\n */\n ;\n\n Interval.fromDateTimes = function fromDateTimes(start, end) {\n var builtStart = friendlyDateTime(start),\n builtEnd = friendlyDateTime(end);\n var validateError = validateStartEnd(builtStart, builtEnd);\n\n if (validateError == null) {\n return new Interval({\n start: builtStart,\n end: builtEnd\n });\n } else {\n return validateError;\n }\n }\n /**\n * Create an Interval from a start DateTime and a Duration to extend to.\n * @param {DateTime|Date|Object} start\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n ;\n\n Interval.after = function after(start, duration) {\n var dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(start);\n return Interval.fromDateTimes(dt, dt.plus(dur));\n }\n /**\n * Create an Interval from an end DateTime and a Duration to extend backwards to.\n * @param {DateTime|Date|Object} end\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n ;\n\n Interval.before = function before(end, duration) {\n var dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(end);\n return Interval.fromDateTimes(dt.minus(dur), dt);\n }\n /**\n * Create an Interval from an ISO 8601 string.\n * Accepts `/`, `/`, and `/` formats.\n * @param {string} text - the ISO string to parse\n * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {Interval}\n */\n ;\n\n Interval.fromISO = function fromISO(text, opts) {\n var _split = (text || \"\").split(\"/\", 2),\n s = _split[0],\n e = _split[1];\n\n if (s && e) {\n var start, startIsValid;\n\n try {\n start = DateTime.fromISO(s, opts);\n startIsValid = start.isValid;\n } catch (e) {\n startIsValid = false;\n }\n\n var end, endIsValid;\n\n try {\n end = DateTime.fromISO(e, opts);\n endIsValid = end.isValid;\n } catch (e) {\n endIsValid = false;\n }\n\n if (startIsValid && endIsValid) {\n return Interval.fromDateTimes(start, end);\n }\n\n if (startIsValid) {\n var dur = Duration.fromISO(e, opts);\n\n if (dur.isValid) {\n return Interval.after(start, dur);\n }\n } else if (endIsValid) {\n var _dur = Duration.fromISO(s, opts);\n\n if (_dur.isValid) {\n return Interval.before(end, _dur);\n }\n }\n }\n\n return Interval.invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as ISO 8601\");\n }\n /**\n * Check if an object is an Interval. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n ;\n\n Interval.isInterval = function isInterval(o) {\n return o && o.isLuxonInterval || false;\n }\n /**\n * Returns the start of the Interval\n * @type {DateTime}\n */\n ;\n\n var _proto = Interval.prototype;\n /**\n * Returns the length of the Interval in the specified unit.\n * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n * @return {number}\n */\n\n _proto.length = function length(unit) {\n if (unit === void 0) {\n unit = \"milliseconds\";\n }\n\n return this.isValid ? this.toDuration.apply(this, [unit]).get(unit) : NaN;\n }\n /**\n * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n * @param {string} [unit='milliseconds'] - the unit of time to count.\n * @return {number}\n */\n ;\n\n _proto.count = function count(unit) {\n if (unit === void 0) {\n unit = \"milliseconds\";\n }\n\n if (!this.isValid) return NaN;\n var start = this.start.startOf(unit),\n end = this.end.startOf(unit);\n return Math.floor(end.diff(start, unit).get(unit)) + 1;\n }\n /**\n * Returns whether this Interval's start and end are both in the same unit of time\n * @param {string} unit - the unit of time to check sameness on\n * @return {boolean}\n */\n ;\n\n _proto.hasSame = function hasSame(unit) {\n return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n }\n /**\n * Return whether this Interval has the same start and end DateTimes.\n * @return {boolean}\n */\n ;\n\n _proto.isEmpty = function isEmpty() {\n return this.s.valueOf() === this.e.valueOf();\n }\n /**\n * Return whether this Interval's start is after the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n ;\n\n _proto.isAfter = function isAfter(dateTime) {\n if (!this.isValid) return false;\n return this.s > dateTime;\n }\n /**\n * Return whether this Interval's end is before the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n ;\n\n _proto.isBefore = function isBefore(dateTime) {\n if (!this.isValid) return false;\n return this.e <= dateTime;\n }\n /**\n * Return whether this Interval contains the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n ;\n\n _proto.contains = function contains(dateTime) {\n if (!this.isValid) return false;\n return this.s <= dateTime && this.e > dateTime;\n }\n /**\n * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n * @param {Object} values - the values to set\n * @param {DateTime} values.start - the starting DateTime\n * @param {DateTime} values.end - the ending DateTime\n * @return {Interval}\n */\n ;\n\n _proto.set = function set(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n start = _ref.start,\n end = _ref.end;\n\n if (!this.isValid) return this;\n return Interval.fromDateTimes(start || this.s, end || this.e);\n }\n /**\n * Split this Interval at each of the specified DateTimes\n * @param {...DateTime} dateTimes - the unit of time to count.\n * @return {Array}\n */\n ;\n\n _proto.splitAt = function splitAt() {\n var _this = this;\n\n if (!this.isValid) return [];\n\n for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) {\n dateTimes[_key] = arguments[_key];\n }\n\n var sorted = dateTimes.map(friendlyDateTime).filter(function (d) {\n return _this.contains(d);\n }).sort(),\n results = [];\n var s = this.s,\n i = 0;\n\n while (s < this.e) {\n var added = sorted[i] || this.e,\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n i += 1;\n }\n\n return results;\n }\n /**\n * Split this Interval into smaller Intervals, each of the specified length.\n * Left over time is grouped into a smaller interval\n * @param {Duration|Object|number} duration - The length of each resulting interval.\n * @return {Array}\n */\n ;\n\n _proto.splitBy = function splitBy(duration) {\n var dur = Duration.fromDurationLike(duration);\n\n if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n return [];\n }\n\n var s = this.s,\n idx = 1,\n next;\n var results = [];\n\n while (s < this.e) {\n var added = this.start.plus(dur.mapUnits(function (x) {\n return x * idx;\n }));\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n idx += 1;\n }\n\n return results;\n }\n /**\n * Split this Interval into the specified number of smaller intervals.\n * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n * @return {Array}\n */\n ;\n\n _proto.divideEqually = function divideEqually(numberOfParts) {\n if (!this.isValid) return [];\n return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n }\n /**\n * Return whether this Interval overlaps with the specified Interval\n * @param {Interval} other\n * @return {boolean}\n */\n ;\n\n _proto.overlaps = function overlaps(other) {\n return this.e > other.s && this.s < other.e;\n }\n /**\n * Return whether this Interval's end is adjacent to the specified Interval's start.\n * @param {Interval} other\n * @return {boolean}\n */\n ;\n\n _proto.abutsStart = function abutsStart(other) {\n if (!this.isValid) return false;\n return +this.e === +other.s;\n }\n /**\n * Return whether this Interval's start is adjacent to the specified Interval's end.\n * @param {Interval} other\n * @return {boolean}\n */\n ;\n\n _proto.abutsEnd = function abutsEnd(other) {\n if (!this.isValid) return false;\n return +other.e === +this.s;\n }\n /**\n * Return whether this Interval engulfs the start and end of the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n ;\n\n _proto.engulfs = function engulfs(other) {\n if (!this.isValid) return false;\n return this.s <= other.s && this.e >= other.e;\n }\n /**\n * Return whether this Interval has the same start and end as the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n ;\n\n _proto.equals = function equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n return this.s.equals(other.s) && this.e.equals(other.e);\n }\n /**\n * Return an Interval representing the intersection of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n * @param {Interval} other\n * @return {Interval}\n */\n ;\n\n _proto.intersection = function intersection(other) {\n if (!this.isValid) return this;\n var s = this.s > other.s ? this.s : other.s,\n e = this.e < other.e ? this.e : other.e;\n\n if (s >= e) {\n return null;\n } else {\n return Interval.fromDateTimes(s, e);\n }\n }\n /**\n * Return an Interval representing the union of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n * @param {Interval} other\n * @return {Interval}\n */\n ;\n\n _proto.union = function union(other) {\n if (!this.isValid) return this;\n var s = this.s < other.s ? this.s : other.s,\n e = this.e > other.e ? this.e : other.e;\n return Interval.fromDateTimes(s, e);\n }\n /**\n * Merge an array of Intervals into a equivalent minimal set of Intervals.\n * Combines overlapping and adjacent Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n ;\n\n Interval.merge = function merge(intervals) {\n var _intervals$sort$reduc = intervals.sort(function (a, b) {\n return a.s - b.s;\n }).reduce(function (_ref2, item) {\n var sofar = _ref2[0],\n current = _ref2[1];\n\n if (!current) {\n return [sofar, item];\n } else if (current.overlaps(item) || current.abutsStart(item)) {\n return [sofar, current.union(item)];\n } else {\n return [sofar.concat([current]), item];\n }\n }, [[], null]),\n found = _intervals$sort$reduc[0],\n _final = _intervals$sort$reduc[1];\n\n if (_final) {\n found.push(_final);\n }\n\n return found;\n }\n /**\n * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n ;\n\n Interval.xor = function xor(intervals) {\n var _Array$prototype;\n\n var start = null,\n currentCount = 0;\n\n var results = [],\n ends = intervals.map(function (i) {\n return [{\n time: i.s,\n type: \"s\"\n }, {\n time: i.e,\n type: \"e\"\n }];\n }),\n flattened = (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, ends),\n arr = flattened.sort(function (a, b) {\n return a.time - b.time;\n });\n\n for (var _iterator = _createForOfIteratorHelperLoose(arr), _step; !(_step = _iterator()).done;) {\n var i = _step.value;\n currentCount += i.type === \"s\" ? 1 : -1;\n\n if (currentCount === 1) {\n start = i.time;\n } else {\n if (start && +start !== +i.time) {\n results.push(Interval.fromDateTimes(start, i.time));\n }\n\n start = null;\n }\n }\n\n return Interval.merge(results);\n }\n /**\n * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n * @param {...Interval} intervals\n * @return {Array}\n */\n ;\n\n _proto.difference = function difference() {\n var _this2 = this;\n\n for (var _len2 = arguments.length, intervals = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n intervals[_key2] = arguments[_key2];\n }\n\n return Interval.xor([this].concat(intervals)).map(function (i) {\n return _this2.intersection(i);\n }).filter(function (i) {\n return i && !i.isEmpty();\n });\n }\n /**\n * Returns a string representation of this Interval appropriate for debugging.\n * @return {string}\n */\n ;\n\n _proto.toString = function toString() {\n if (!this.isValid) return INVALID$1;\n return \"[\" + this.s.toISO() + \" \\u2013 \" + this.e.toISO() + \")\";\n }\n /**\n * Returns an ISO 8601-compliant string representation of this Interval.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n ;\n\n _proto.toISO = function toISO(opts) {\n if (!this.isValid) return INVALID$1;\n return this.s.toISO(opts) + \"/\" + this.e.toISO(opts);\n }\n /**\n * Returns an ISO 8601-compliant string representation of date of this Interval.\n * The time components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {string}\n */\n ;\n\n _proto.toISODate = function toISODate() {\n if (!this.isValid) return INVALID$1;\n return this.s.toISODate() + \"/\" + this.e.toISODate();\n }\n /**\n * Returns an ISO 8601-compliant string representation of time of this Interval.\n * The date components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n ;\n\n _proto.toISOTime = function toISOTime(opts) {\n if (!this.isValid) return INVALID$1;\n return this.s.toISOTime(opts) + \"/\" + this.e.toISOTime(opts);\n }\n /**\n * Returns a string representation of this Interval formatted according to the specified format string.\n * @param {string} dateFormat - the format string. This string formats the start and end time. See {@link DateTime#toFormat} for details.\n * @param {Object} opts - options\n * @param {string} [opts.separator = ' – '] - a separator to place between the start and end representations\n * @return {string}\n */\n ;\n\n _proto.toFormat = function toFormat(dateFormat, _temp2) {\n var _ref3 = _temp2 === void 0 ? {} : _temp2,\n _ref3$separator = _ref3.separator,\n separator = _ref3$separator === void 0 ? \" – \" : _ref3$separator;\n\n if (!this.isValid) return INVALID$1;\n return \"\" + this.s.toFormat(dateFormat) + separator + this.e.toFormat(dateFormat);\n }\n /**\n * Return a Duration representing the time spanned by this interval.\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n * @return {Duration}\n */\n ;\n\n _proto.toDuration = function toDuration(unit, opts) {\n if (!this.isValid) {\n return Duration.invalid(this.invalidReason);\n }\n\n return this.e.diff(this.s, unit, opts);\n }\n /**\n * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n * @param {function} mapFn\n * @return {Interval}\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n */\n ;\n\n _proto.mapEndpoints = function mapEndpoints(mapFn) {\n return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n };\n\n _createClass(Interval, [{\n key: \"start\",\n get: function get() {\n return this.isValid ? this.s : null;\n }\n /**\n * Returns the end of the Interval\n * @type {DateTime}\n */\n\n }, {\n key: \"end\",\n get: function get() {\n return this.isValid ? this.e : null;\n }\n /**\n * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n * @type {boolean}\n */\n\n }, {\n key: \"isValid\",\n get: function get() {\n return this.invalidReason === null;\n }\n /**\n * Returns an error code if this Interval is invalid, or null if the Interval is valid\n * @type {string}\n */\n\n }, {\n key: \"invalidReason\",\n get: function get() {\n return this.invalid ? this.invalid.reason : null;\n }\n /**\n * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n * @type {string}\n */\n\n }, {\n key: \"invalidExplanation\",\n get: function get() {\n return this.invalid ? this.invalid.explanation : null;\n }\n }]);\n\n return Interval;\n}();\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\n\n\nvar Info = /*#__PURE__*/function () {\n function Info() {}\n /**\n * Return whether the specified zone contains a DST.\n * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n * @return {boolean}\n */\n\n\n Info.hasDST = function hasDST(zone) {\n if (zone === void 0) {\n zone = Settings.defaultZone;\n }\n\n var proto = DateTime.now().setZone(zone).set({\n month: 12\n });\n return !zone.isUniversal && proto.offset !== proto.set({\n month: 6\n }).offset;\n }\n /**\n * Return whether the specified zone is a valid IANA specifier.\n * @param {string} zone - Zone to check\n * @return {boolean}\n */\n ;\n\n Info.isValidIANAZone = function isValidIANAZone(zone) {\n return IANAZone.isValidZone(zone);\n }\n /**\n * Converts the input into a {@link Zone} instance.\n *\n * * If `input` is already a Zone instance, it is returned unchanged.\n * * If `input` is a string containing a valid time zone name, a Zone instance\n * with that name is returned.\n * * If `input` is a string that doesn't refer to a known time zone, a Zone\n * instance with {@link Zone#isValid} == false is returned.\n * * If `input is a number, a Zone instance with the specified fixed offset\n * in minutes is returned.\n * * If `input` is `null` or `undefined`, the default zone is returned.\n * @param {string|Zone|number} [input] - the value to be converted\n * @return {Zone}\n */\n ;\n\n Info.normalizeZone = function normalizeZone$1(input) {\n return normalizeZone(input, Settings.defaultZone);\n }\n /**\n * Return an array of standalone month names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @example Info.months()[0] //=> 'January'\n * @example Info.months('short')[0] //=> 'Jan'\n * @example Info.months('numeric')[0] //=> '1'\n * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n * @return {Array}\n */\n ;\n\n Info.months = function months(length, _temp) {\n if (length === void 0) {\n length = \"long\";\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? null : _ref$locale,\n _ref$numberingSystem = _ref.numberingSystem,\n numberingSystem = _ref$numberingSystem === void 0 ? null : _ref$numberingSystem,\n _ref$locObj = _ref.locObj,\n locObj = _ref$locObj === void 0 ? null : _ref$locObj,\n _ref$outputCalendar = _ref.outputCalendar,\n outputCalendar = _ref$outputCalendar === void 0 ? \"gregory\" : _ref$outputCalendar;\n\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n }\n /**\n * Return an array of format month names.\n * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n * changes the string.\n * See {@link Info#months}\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @return {Array}\n */\n ;\n\n Info.monthsFormat = function monthsFormat(length, _temp2) {\n if (length === void 0) {\n length = \"long\";\n }\n\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n _ref2$locale = _ref2.locale,\n locale = _ref2$locale === void 0 ? null : _ref2$locale,\n _ref2$numberingSystem = _ref2.numberingSystem,\n numberingSystem = _ref2$numberingSystem === void 0 ? null : _ref2$numberingSystem,\n _ref2$locObj = _ref2.locObj,\n locObj = _ref2$locObj === void 0 ? null : _ref2$locObj,\n _ref2$outputCalendar = _ref2.outputCalendar,\n outputCalendar = _ref2$outputCalendar === void 0 ? \"gregory\" : _ref2$outputCalendar;\n\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n }\n /**\n * Return an array of standalone week names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @example Info.weekdays()[0] //=> 'Monday'\n * @example Info.weekdays('short')[0] //=> 'Mon'\n * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n * @return {Array}\n */\n ;\n\n Info.weekdays = function weekdays(length, _temp3) {\n if (length === void 0) {\n length = \"long\";\n }\n\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n _ref3$locale = _ref3.locale,\n locale = _ref3$locale === void 0 ? null : _ref3$locale,\n _ref3$numberingSystem = _ref3.numberingSystem,\n numberingSystem = _ref3$numberingSystem === void 0 ? null : _ref3$numberingSystem,\n _ref3$locObj = _ref3.locObj,\n locObj = _ref3$locObj === void 0 ? null : _ref3$locObj;\n\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n }\n /**\n * Return an array of format week names.\n * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n * changes the string.\n * See {@link Info#weekdays}\n * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale=null] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @return {Array}\n */\n ;\n\n Info.weekdaysFormat = function weekdaysFormat(length, _temp4) {\n if (length === void 0) {\n length = \"long\";\n }\n\n var _ref4 = _temp4 === void 0 ? {} : _temp4,\n _ref4$locale = _ref4.locale,\n locale = _ref4$locale === void 0 ? null : _ref4$locale,\n _ref4$numberingSystem = _ref4.numberingSystem,\n numberingSystem = _ref4$numberingSystem === void 0 ? null : _ref4$numberingSystem,\n _ref4$locObj = _ref4.locObj,\n locObj = _ref4$locObj === void 0 ? null : _ref4$locObj;\n\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n }\n /**\n * Return an array of meridiems.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n * @return {Array}\n */\n ;\n\n Info.meridiems = function meridiems(_temp5) {\n var _ref5 = _temp5 === void 0 ? {} : _temp5,\n _ref5$locale = _ref5.locale,\n locale = _ref5$locale === void 0 ? null : _ref5$locale;\n\n return Locale.create(locale).meridiems();\n }\n /**\n * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.eras() //=> [ 'BC', 'AD' ]\n * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n * @return {Array}\n */\n ;\n\n Info.eras = function eras(length, _temp6) {\n if (length === void 0) {\n length = \"short\";\n }\n\n var _ref6 = _temp6 === void 0 ? {} : _temp6,\n _ref6$locale = _ref6.locale,\n locale = _ref6$locale === void 0 ? null : _ref6$locale;\n\n return Locale.create(locale, null, \"gregory\").eras(length);\n }\n /**\n * Return the set of available features in this environment.\n * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n * Keys:\n * * `relative`: whether this environment supports relative time formatting\n * @example Info.features() //=> { relative: false }\n * @return {Object}\n */\n ;\n\n Info.features = function features() {\n return {\n relative: hasRelative()\n };\n };\n\n return Info;\n}();\n\nfunction dayDiff(earlier, later) {\n var utcDayStart = function utcDayStart(dt) {\n return dt.toUTC(0, {\n keepLocalTime: true\n }).startOf(\"day\").valueOf();\n },\n ms = utcDayStart(later) - utcDayStart(earlier);\n\n return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n var differs = [[\"years\", function (a, b) {\n return b.year - a.year;\n }], [\"quarters\", function (a, b) {\n return b.quarter - a.quarter;\n }], [\"months\", function (a, b) {\n return b.month - a.month + (b.year - a.year) * 12;\n }], [\"weeks\", function (a, b) {\n var days = dayDiff(a, b);\n return (days - days % 7) / 7;\n }], [\"days\", dayDiff]];\n var results = {};\n var lowestOrder, highWater;\n\n for (var _i = 0, _differs = differs; _i < _differs.length; _i++) {\n var _differs$_i = _differs[_i],\n unit = _differs$_i[0],\n differ = _differs$_i[1];\n\n if (units.indexOf(unit) >= 0) {\n var _cursor$plus;\n\n lowestOrder = unit;\n var delta = differ(cursor, later);\n highWater = cursor.plus((_cursor$plus = {}, _cursor$plus[unit] = delta, _cursor$plus));\n\n if (highWater > later) {\n var _cursor$plus2;\n\n cursor = cursor.plus((_cursor$plus2 = {}, _cursor$plus2[unit] = delta - 1, _cursor$plus2));\n delta -= 1;\n } else {\n cursor = highWater;\n }\n\n results[unit] = delta;\n }\n }\n\n return [cursor, results, highWater, lowestOrder];\n}\n\nfunction _diff(earlier, later, units, opts) {\n var _highOrderDiffs = highOrderDiffs(earlier, later, units),\n cursor = _highOrderDiffs[0],\n results = _highOrderDiffs[1],\n highWater = _highOrderDiffs[2],\n lowestOrder = _highOrderDiffs[3];\n\n var remainingMillis = later - cursor;\n var lowerOrderUnits = units.filter(function (u) {\n return [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0;\n });\n\n if (lowerOrderUnits.length === 0) {\n if (highWater < later) {\n var _cursor$plus3;\n\n highWater = cursor.plus((_cursor$plus3 = {}, _cursor$plus3[lowestOrder] = 1, _cursor$plus3));\n }\n\n if (highWater !== cursor) {\n results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n }\n }\n\n var duration = Duration.fromObject(results, opts);\n\n if (lowerOrderUnits.length > 0) {\n var _Duration$fromMillis;\n\n return (_Duration$fromMillis = Duration.fromMillis(remainingMillis, opts)).shiftTo.apply(_Duration$fromMillis, lowerOrderUnits).plus(duration);\n } else {\n return duration;\n }\n}\n\nvar numberingSystems = {\n arab: \"[\\u0660-\\u0669]\",\n arabext: \"[\\u06F0-\\u06F9]\",\n bali: \"[\\u1B50-\\u1B59]\",\n beng: \"[\\u09E6-\\u09EF]\",\n deva: \"[\\u0966-\\u096F]\",\n fullwide: \"[\\uFF10-\\uFF19]\",\n gujr: \"[\\u0AE6-\\u0AEF]\",\n hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n khmr: \"[\\u17E0-\\u17E9]\",\n knda: \"[\\u0CE6-\\u0CEF]\",\n laoo: \"[\\u0ED0-\\u0ED9]\",\n limb: \"[\\u1946-\\u194F]\",\n mlym: \"[\\u0D66-\\u0D6F]\",\n mong: \"[\\u1810-\\u1819]\",\n mymr: \"[\\u1040-\\u1049]\",\n orya: \"[\\u0B66-\\u0B6F]\",\n tamldec: \"[\\u0BE6-\\u0BEF]\",\n telu: \"[\\u0C66-\\u0C6F]\",\n thai: \"[\\u0E50-\\u0E59]\",\n tibt: \"[\\u0F20-\\u0F29]\",\n latn: \"\\\\d\"\n};\nvar numberingSystemsUTF16 = {\n arab: [1632, 1641],\n arabext: [1776, 1785],\n bali: [6992, 7001],\n beng: [2534, 2543],\n deva: [2406, 2415],\n fullwide: [65296, 65303],\n gujr: [2790, 2799],\n khmr: [6112, 6121],\n knda: [3302, 3311],\n laoo: [3792, 3801],\n limb: [6470, 6479],\n mlym: [3430, 3439],\n mong: [6160, 6169],\n mymr: [4160, 4169],\n orya: [2918, 2927],\n tamldec: [3046, 3055],\n telu: [3174, 3183],\n thai: [3664, 3673],\n tibt: [3872, 3881]\n};\nvar hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nfunction parseDigits(str) {\n var value = parseInt(str, 10);\n\n if (isNaN(value)) {\n value = \"\";\n\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i);\n\n if (str[i].search(numberingSystems.hanidec) !== -1) {\n value += hanidecChars.indexOf(str[i]);\n } else {\n for (var key in numberingSystemsUTF16) {\n var _numberingSystemsUTF = numberingSystemsUTF16[key],\n min = _numberingSystemsUTF[0],\n max = _numberingSystemsUTF[1];\n\n if (code >= min && code <= max) {\n value += code - min;\n }\n }\n }\n }\n\n return parseInt(value, 10);\n } else {\n return value;\n }\n}\n\nfunction digitRegex(_ref, append) {\n var numberingSystem = _ref.numberingSystem;\n\n if (append === void 0) {\n append = \"\";\n }\n\n return new RegExp(\"\" + numberingSystems[numberingSystem || \"latn\"] + append);\n}\n\nvar MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post) {\n if (post === void 0) {\n post = function post(i) {\n return i;\n };\n }\n\n return {\n regex: regex,\n deser: function deser(_ref) {\n var s = _ref[0];\n return post(parseDigits(s));\n }\n };\n}\n\nvar NBSP = String.fromCharCode(160);\nvar spaceOrNBSP = \"[ \" + NBSP + \"]\";\nvar spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n // make dots optional and also make them literal\n // make space and non breakable space characters interchangeable\n return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n return s.replace(/\\./g, \"\") // ignore dots that were made optional\n .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n if (strings === null) {\n return null;\n } else {\n return {\n regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n deser: function deser(_ref2) {\n var s = _ref2[0];\n return strings.findIndex(function (i) {\n return stripInsensitivities(s) === stripInsensitivities(i);\n }) + startIndex;\n }\n };\n }\n}\n\nfunction offset(regex, groups) {\n return {\n regex: regex,\n deser: function deser(_ref3) {\n var h = _ref3[1],\n m = _ref3[2];\n return signedOffset(h, m);\n },\n groups: groups\n };\n}\n\nfunction simple(regex) {\n return {\n regex: regex,\n deser: function deser(_ref4) {\n var s = _ref4[0];\n return s;\n }\n };\n}\n\nfunction escapeToken(value) {\n return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\nfunction unitForToken(token, loc) {\n var one = digitRegex(loc),\n two = digitRegex(loc, \"{2}\"),\n three = digitRegex(loc, \"{3}\"),\n four = digitRegex(loc, \"{4}\"),\n six = digitRegex(loc, \"{6}\"),\n oneOrTwo = digitRegex(loc, \"{1,2}\"),\n oneToThree = digitRegex(loc, \"{1,3}\"),\n oneToSix = digitRegex(loc, \"{1,6}\"),\n oneToNine = digitRegex(loc, \"{1,9}\"),\n twoToFour = digitRegex(loc, \"{2,4}\"),\n fourToSix = digitRegex(loc, \"{4,6}\"),\n literal = function literal(t) {\n return {\n regex: RegExp(escapeToken(t.val)),\n deser: function deser(_ref5) {\n var s = _ref5[0];\n return s;\n },\n literal: true\n };\n },\n unitate = function unitate(t) {\n if (token.literal) {\n return literal(t);\n }\n\n switch (t.val) {\n // era\n case \"G\":\n return oneOf(loc.eras(\"short\", false), 0);\n\n case \"GG\":\n return oneOf(loc.eras(\"long\", false), 0);\n // years\n\n case \"y\":\n return intUnit(oneToSix);\n\n case \"yy\":\n return intUnit(twoToFour, untruncateYear);\n\n case \"yyyy\":\n return intUnit(four);\n\n case \"yyyyy\":\n return intUnit(fourToSix);\n\n case \"yyyyyy\":\n return intUnit(six);\n // months\n\n case \"M\":\n return intUnit(oneOrTwo);\n\n case \"MM\":\n return intUnit(two);\n\n case \"MMM\":\n return oneOf(loc.months(\"short\", true, false), 1);\n\n case \"MMMM\":\n return oneOf(loc.months(\"long\", true, false), 1);\n\n case \"L\":\n return intUnit(oneOrTwo);\n\n case \"LL\":\n return intUnit(two);\n\n case \"LLL\":\n return oneOf(loc.months(\"short\", false, false), 1);\n\n case \"LLLL\":\n return oneOf(loc.months(\"long\", false, false), 1);\n // dates\n\n case \"d\":\n return intUnit(oneOrTwo);\n\n case \"dd\":\n return intUnit(two);\n // ordinals\n\n case \"o\":\n return intUnit(oneToThree);\n\n case \"ooo\":\n return intUnit(three);\n // time\n\n case \"HH\":\n return intUnit(two);\n\n case \"H\":\n return intUnit(oneOrTwo);\n\n case \"hh\":\n return intUnit(two);\n\n case \"h\":\n return intUnit(oneOrTwo);\n\n case \"mm\":\n return intUnit(two);\n\n case \"m\":\n return intUnit(oneOrTwo);\n\n case \"q\":\n return intUnit(oneOrTwo);\n\n case \"qq\":\n return intUnit(two);\n\n case \"s\":\n return intUnit(oneOrTwo);\n\n case \"ss\":\n return intUnit(two);\n\n case \"S\":\n return intUnit(oneToThree);\n\n case \"SSS\":\n return intUnit(three);\n\n case \"u\":\n return simple(oneToNine);\n\n case \"uu\":\n return simple(oneOrTwo);\n\n case \"uuu\":\n return intUnit(one);\n // meridiem\n\n case \"a\":\n return oneOf(loc.meridiems(), 0);\n // weekYear (k)\n\n case \"kkkk\":\n return intUnit(four);\n\n case \"kk\":\n return intUnit(twoToFour, untruncateYear);\n // weekNumber (W)\n\n case \"W\":\n return intUnit(oneOrTwo);\n\n case \"WW\":\n return intUnit(two);\n // weekdays\n\n case \"E\":\n case \"c\":\n return intUnit(one);\n\n case \"EEE\":\n return oneOf(loc.weekdays(\"short\", false, false), 1);\n\n case \"EEEE\":\n return oneOf(loc.weekdays(\"long\", false, false), 1);\n\n case \"ccc\":\n return oneOf(loc.weekdays(\"short\", true, false), 1);\n\n case \"cccc\":\n return oneOf(loc.weekdays(\"long\", true, false), 1);\n // offset/zone\n\n case \"Z\":\n case \"ZZ\":\n return offset(new RegExp(\"([+-]\" + oneOrTwo.source + \")(?::(\" + two.source + \"))?\"), 2);\n\n case \"ZZZ\":\n return offset(new RegExp(\"([+-]\" + oneOrTwo.source + \")(\" + two.source + \")?\"), 2);\n // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n // because we don't have any way to figure out what they are\n\n case \"z\":\n return simple(/[a-z_+-/]{1,256}?/i);\n\n default:\n return literal(t);\n }\n };\n\n var unit = unitate(token) || {\n invalidReason: MISSING_FTP\n };\n unit.token = token;\n return unit;\n}\n\nvar partTypeStyleToTokenVal = {\n year: {\n \"2-digit\": \"yy\",\n numeric: \"yyyyy\"\n },\n month: {\n numeric: \"M\",\n \"2-digit\": \"MM\",\n \"short\": \"MMM\",\n \"long\": \"MMMM\"\n },\n day: {\n numeric: \"d\",\n \"2-digit\": \"dd\"\n },\n weekday: {\n \"short\": \"EEE\",\n \"long\": \"EEEE\"\n },\n dayperiod: \"a\",\n dayPeriod: \"a\",\n hour: {\n numeric: \"h\",\n \"2-digit\": \"hh\"\n },\n minute: {\n numeric: \"m\",\n \"2-digit\": \"mm\"\n },\n second: {\n numeric: \"s\",\n \"2-digit\": \"ss\"\n }\n};\n\nfunction tokenForPart(part, locale, formatOpts) {\n var type = part.type,\n value = part.value;\n\n if (type === \"literal\") {\n return {\n literal: true,\n val: value\n };\n }\n\n var style = formatOpts[type];\n var val = partTypeStyleToTokenVal[type];\n\n if (_typeof(val) === \"object\") {\n val = val[style];\n }\n\n if (val) {\n return {\n literal: false,\n val: val\n };\n }\n\n return undefined;\n}\n\nfunction buildRegex(units) {\n var re = units.map(function (u) {\n return u.regex;\n }).reduce(function (f, r) {\n return f + \"(\" + r.source + \")\";\n }, \"\");\n return [\"^\" + re + \"$\", units];\n}\n\nfunction match(input, regex, handlers) {\n var matches = input.match(regex);\n\n if (matches) {\n var all = {};\n var matchIndex = 1;\n\n for (var i in handlers) {\n if (hasOwnProperty(handlers, i)) {\n var h = handlers[i],\n groups = h.groups ? h.groups + 1 : 1;\n\n if (!h.literal && h.token) {\n all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n }\n\n matchIndex += groups;\n }\n }\n\n return [matches, all];\n } else {\n return [matches, {}];\n }\n}\n\nfunction dateTimeFromMatches(matches) {\n var toField = function toField(token) {\n switch (token) {\n case \"S\":\n return \"millisecond\";\n\n case \"s\":\n return \"second\";\n\n case \"m\":\n return \"minute\";\n\n case \"h\":\n case \"H\":\n return \"hour\";\n\n case \"d\":\n return \"day\";\n\n case \"o\":\n return \"ordinal\";\n\n case \"L\":\n case \"M\":\n return \"month\";\n\n case \"y\":\n return \"year\";\n\n case \"E\":\n case \"c\":\n return \"weekday\";\n\n case \"W\":\n return \"weekNumber\";\n\n case \"k\":\n return \"weekYear\";\n\n case \"q\":\n return \"quarter\";\n\n default:\n return null;\n }\n };\n\n var zone = null;\n var specificOffset;\n\n if (!isUndefined(matches.z)) {\n zone = IANAZone.create(matches.z);\n }\n\n if (!isUndefined(matches.Z)) {\n if (!zone) {\n zone = new FixedOffsetZone(matches.Z);\n }\n\n specificOffset = matches.Z;\n }\n\n if (!isUndefined(matches.q)) {\n matches.M = (matches.q - 1) * 3 + 1;\n }\n\n if (!isUndefined(matches.h)) {\n if (matches.h < 12 && matches.a === 1) {\n matches.h += 12;\n } else if (matches.h === 12 && matches.a === 0) {\n matches.h = 0;\n }\n }\n\n if (matches.G === 0 && matches.y) {\n matches.y = -matches.y;\n }\n\n if (!isUndefined(matches.u)) {\n matches.S = parseMillis(matches.u);\n }\n\n var vals = Object.keys(matches).reduce(function (r, k) {\n var f = toField(k);\n\n if (f) {\n r[f] = matches[k];\n }\n\n return r;\n }, {});\n return [vals, zone, specificOffset];\n}\n\nvar dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n if (!dummyDateTimeCache) {\n dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n }\n\n return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n if (token.literal) {\n return token;\n }\n\n var formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n\n if (!formatOpts) {\n return token;\n }\n\n var formatter = Formatter.create(locale, formatOpts);\n var parts = formatter.formatDateTimeParts(getDummyDateTime());\n var tokens = parts.map(function (p) {\n return tokenForPart(p, locale, formatOpts);\n });\n\n if (tokens.includes(undefined)) {\n return token;\n }\n\n return tokens;\n}\n\nfunction expandMacroTokens(tokens, locale) {\n var _Array$prototype;\n\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, tokens.map(function (t) {\n return maybeExpandMacroToken(t, locale);\n }));\n}\n/**\n * @private\n */\n\n\nfunction explainFromTokens(locale, input, format) {\n var tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n units = tokens.map(function (t) {\n return unitForToken(t, locale);\n }),\n disqualifyingUnit = units.find(function (t) {\n return t.invalidReason;\n });\n\n if (disqualifyingUnit) {\n return {\n input: input,\n tokens: tokens,\n invalidReason: disqualifyingUnit.invalidReason\n };\n } else {\n var _buildRegex = buildRegex(units),\n regexString = _buildRegex[0],\n handlers = _buildRegex[1],\n regex = RegExp(regexString, \"i\"),\n _match = match(input, regex, handlers),\n rawMatches = _match[0],\n matches = _match[1],\n _ref6 = matches ? dateTimeFromMatches(matches) : [null, null, undefined],\n result = _ref6[0],\n zone = _ref6[1],\n specificOffset = _ref6[2];\n\n if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n throw new ConflictingSpecificationError(\"Can't include meridiem when specifying 24-hour format\");\n }\n\n return {\n input: input,\n tokens: tokens,\n regex: regex,\n rawMatches: rawMatches,\n matches: matches,\n result: result,\n zone: zone,\n specificOffset: specificOffset\n };\n }\n}\n\nfunction parseFromTokens(locale, input, format) {\n var _explainFromTokens = explainFromTokens(locale, input, format),\n result = _explainFromTokens.result,\n zone = _explainFromTokens.zone,\n specificOffset = _explainFromTokens.specificOffset,\n invalidReason = _explainFromTokens.invalidReason;\n\n return [result, zone, specificOffset, invalidReason];\n}\n\nvar nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n return new Invalid(\"unit out of range\", \"you specified \" + value + \" (of type \" + _typeof(value) + \") as a \" + unit + \", which is invalid\");\n}\n\nfunction dayOfWeek(year, month, day) {\n var d = new Date(Date.UTC(year, month - 1, day));\n\n if (year < 100 && year >= 0) {\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n\n var js = d.getUTCDay();\n return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n var table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n month0 = table.findIndex(function (i) {\n return i < ordinal;\n }),\n day = ordinal - table[month0];\n return {\n month: month0 + 1,\n day: day\n };\n}\n/**\n * @private\n */\n\n\nfunction gregorianToWeek(gregObj) {\n var year = gregObj.year,\n month = gregObj.month,\n day = gregObj.day,\n ordinal = computeOrdinal(year, month, day),\n weekday = dayOfWeek(year, month, day);\n var weekNumber = Math.floor((ordinal - weekday + 10) / 7),\n weekYear;\n\n if (weekNumber < 1) {\n weekYear = year - 1;\n weekNumber = weeksInWeekYear(weekYear);\n } else if (weekNumber > weeksInWeekYear(year)) {\n weekYear = year + 1;\n weekNumber = 1;\n } else {\n weekYear = year;\n }\n\n return _extends({\n weekYear: weekYear,\n weekNumber: weekNumber,\n weekday: weekday\n }, timeObject(gregObj));\n}\n\nfunction weekToGregorian(weekData) {\n var weekYear = weekData.weekYear,\n weekNumber = weekData.weekNumber,\n weekday = weekData.weekday,\n weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),\n yearInDays = daysInYear(weekYear);\n var ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,\n year;\n\n if (ordinal < 1) {\n year = weekYear - 1;\n ordinal += daysInYear(year);\n } else if (ordinal > yearInDays) {\n year = weekYear + 1;\n ordinal -= daysInYear(weekYear);\n } else {\n year = weekYear;\n }\n\n var _uncomputeOrdinal = uncomputeOrdinal(year, ordinal),\n month = _uncomputeOrdinal.month,\n day = _uncomputeOrdinal.day;\n\n return _extends({\n year: year,\n month: month,\n day: day\n }, timeObject(weekData));\n}\n\nfunction gregorianToOrdinal(gregData) {\n var year = gregData.year,\n month = gregData.month,\n day = gregData.day;\n var ordinal = computeOrdinal(year, month, day);\n return _extends({\n year: year,\n ordinal: ordinal\n }, timeObject(gregData));\n}\n\nfunction ordinalToGregorian(ordinalData) {\n var year = ordinalData.year,\n ordinal = ordinalData.ordinal;\n\n var _uncomputeOrdinal2 = uncomputeOrdinal(year, ordinal),\n month = _uncomputeOrdinal2.month,\n day = _uncomputeOrdinal2.day;\n\n return _extends({\n year: year,\n month: month,\n day: day\n }, timeObject(ordinalData));\n}\n\nfunction hasInvalidWeekData(obj) {\n var validYear = isInteger(obj.weekYear),\n validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),\n validWeekday = integerBetween(obj.weekday, 1, 7);\n\n if (!validYear) {\n return unitOutOfRange(\"weekYear\", obj.weekYear);\n } else if (!validWeek) {\n return unitOutOfRange(\"week\", obj.week);\n } else if (!validWeekday) {\n return unitOutOfRange(\"weekday\", obj.weekday);\n } else return false;\n}\n\nfunction hasInvalidOrdinalData(obj) {\n var validYear = isInteger(obj.year),\n validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validOrdinal) {\n return unitOutOfRange(\"ordinal\", obj.ordinal);\n } else return false;\n}\n\nfunction hasInvalidGregorianData(obj) {\n var validYear = isInteger(obj.year),\n validMonth = integerBetween(obj.month, 1, 12),\n validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validMonth) {\n return unitOutOfRange(\"month\", obj.month);\n } else if (!validDay) {\n return unitOutOfRange(\"day\", obj.day);\n } else return false;\n}\n\nfunction hasInvalidTimeData(obj) {\n var hour = obj.hour,\n minute = obj.minute,\n second = obj.second,\n millisecond = obj.millisecond;\n var validHour = integerBetween(hour, 0, 23) || hour === 24 && minute === 0 && second === 0 && millisecond === 0,\n validMinute = integerBetween(minute, 0, 59),\n validSecond = integerBetween(second, 0, 59),\n validMillisecond = integerBetween(millisecond, 0, 999);\n\n if (!validHour) {\n return unitOutOfRange(\"hour\", hour);\n } else if (!validMinute) {\n return unitOutOfRange(\"minute\", minute);\n } else if (!validSecond) {\n return unitOutOfRange(\"second\", second);\n } else if (!validMillisecond) {\n return unitOutOfRange(\"millisecond\", millisecond);\n } else return false;\n}\n\nvar INVALID = \"Invalid DateTime\";\nvar MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n return new Invalid(\"unsupported zone\", \"the zone \\\"\" + zone.name + \"\\\" is not supported\");\n} // we cache week data on the DT object and this intermediates the cache\n\n\nfunction possiblyCachedWeekData(dt) {\n if (dt.weekData === null) {\n dt.weekData = gregorianToWeek(dt.c);\n }\n\n return dt.weekData;\n} // clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\n\n\nfunction clone(inst, alts) {\n var current = {\n ts: inst.ts,\n zone: inst.zone,\n c: inst.c,\n o: inst.o,\n loc: inst.loc,\n invalid: inst.invalid\n };\n return new DateTime(_extends({}, current, alts, {\n old: current\n }));\n} // find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\n\n\nfunction fixOffset(localTS, o, tz) {\n // Our UTC time is just a guess because our offset is just a guess\n var utcGuess = localTS - o * 60 * 1000; // Test whether the zone matches the offset for this ts\n\n var o2 = tz.offset(utcGuess); // If so, offset didn't change and we're done\n\n if (o === o2) {\n return [utcGuess, o];\n } // If not, change the ts by the difference in the offset\n\n\n utcGuess -= (o2 - o) * 60 * 1000; // If that gives us the local time we want, we're done\n\n var o3 = tz.offset(utcGuess);\n\n if (o2 === o3) {\n return [utcGuess, o2];\n } // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n\n\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n} // convert an epoch timestamp into a calendar object with the given offset\n\n\nfunction tsToObj(ts, offset) {\n ts += offset * 60 * 1000;\n var d = new Date(ts);\n return {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth() + 1,\n day: d.getUTCDate(),\n hour: d.getUTCHours(),\n minute: d.getUTCMinutes(),\n second: d.getUTCSeconds(),\n millisecond: d.getUTCMilliseconds()\n };\n} // convert a calendar object to a epoch timestamp\n\n\nfunction objToTS(obj, offset, zone) {\n return fixOffset(objToLocalTS(obj), offset, zone);\n} // create a new DT instance by adding a duration, adjusting for DSTs\n\n\nfunction adjustTime(inst, dur) {\n var oPre = inst.o,\n year = inst.c.year + Math.trunc(dur.years),\n month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n c = _extends({}, inst.c, {\n year: year,\n month: month,\n day: Math.min(inst.c.day, daysInMonth(year, month)) + Math.trunc(dur.days) + Math.trunc(dur.weeks) * 7\n }),\n millisToAdd = Duration.fromObject({\n years: dur.years - Math.trunc(dur.years),\n quarters: dur.quarters - Math.trunc(dur.quarters),\n months: dur.months - Math.trunc(dur.months),\n weeks: dur.weeks - Math.trunc(dur.weeks),\n days: dur.days - Math.trunc(dur.days),\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n milliseconds: dur.milliseconds\n }).as(\"milliseconds\"),\n localTS = objToLocalTS(c);\n\n var _fixOffset = fixOffset(localTS, oPre, inst.zone),\n ts = _fixOffset[0],\n o = _fixOffset[1];\n\n if (millisToAdd !== 0) {\n ts += millisToAdd; // that could have changed the offset by going over a DST, but we want to keep the ts the same\n\n o = inst.zone.offset(ts);\n }\n\n return {\n ts: ts,\n o: o\n };\n} // helper useful in turning the results of parsing into real dates\n// by handling the zone options\n\n\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n var setZone = opts.setZone,\n zone = opts.zone;\n\n if (parsed && Object.keys(parsed).length !== 0) {\n var interpretationZone = parsedZone || zone,\n inst = DateTime.fromObject(parsed, _extends({}, opts, {\n zone: interpretationZone,\n specificOffset: specificOffset\n }));\n return setZone ? inst : inst.setZone(zone);\n } else {\n return DateTime.invalid(new Invalid(\"unparsable\", \"the input \\\"\" + text + \"\\\" can't be parsed as \" + format));\n }\n} // if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\n\n\nfunction toTechFormat(dt, format, allowZ) {\n if (allowZ === void 0) {\n allowZ = true;\n }\n\n return dt.isValid ? Formatter.create(Locale.create(\"en-US\"), {\n allowZ: allowZ,\n forceSimple: true\n }).formatDateTimeFromString(dt, format) : null;\n}\n\nfunction _toISODate(o, extended) {\n var longFormat = o.c.year > 9999 || o.c.year < 0;\n var c = \"\";\n if (longFormat && o.c.year >= 0) c += \"+\";\n c += padStart(o.c.year, longFormat ? 6 : 4);\n\n if (extended) {\n c += \"-\";\n c += padStart(o.c.month);\n c += \"-\";\n c += padStart(o.c.day);\n } else {\n c += padStart(o.c.month);\n c += padStart(o.c.day);\n }\n\n return c;\n}\n\nfunction _toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone) {\n var c = padStart(o.c.hour);\n\n if (extended) {\n c += \":\";\n c += padStart(o.c.minute);\n\n if (o.c.second !== 0 || !suppressSeconds) {\n c += \":\";\n }\n } else {\n c += padStart(o.c.minute);\n }\n\n if (o.c.second !== 0 || !suppressSeconds) {\n c += padStart(o.c.second);\n\n if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n c += \".\";\n c += padStart(o.c.millisecond, 3);\n }\n }\n\n if (includeOffset) {\n if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n c += \"Z\";\n } else if (o.o < 0) {\n c += \"-\";\n c += padStart(Math.trunc(-o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(-o.o % 60));\n } else {\n c += \"+\";\n c += padStart(Math.trunc(o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(o.o % 60));\n }\n }\n\n if (extendedZone) {\n c += \"[\" + o.zone.ianaName + \"]\";\n }\n\n return c;\n} // defaults for unspecified units in the supported calendars\n\n\nvar defaultUnitValues = {\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n},\n defaultWeekUnitValues = {\n weekNumber: 1,\n weekday: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n},\n defaultOrdinalUnitValues = {\n ordinal: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n}; // Units in the supported calendars, sorted by bigness\n\nvar orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedWeekUnits = [\"weekYear\", \"weekNumber\", \"weekday\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"]; // standardize case and plurality in units\n\nfunction normalizeUnit(unit) {\n var normalized = {\n year: \"year\",\n years: \"year\",\n month: \"month\",\n months: \"month\",\n day: \"day\",\n days: \"day\",\n hour: \"hour\",\n hours: \"hour\",\n minute: \"minute\",\n minutes: \"minute\",\n quarter: \"quarter\",\n quarters: \"quarter\",\n second: \"second\",\n seconds: \"second\",\n millisecond: \"millisecond\",\n milliseconds: \"millisecond\",\n weekday: \"weekday\",\n weekdays: \"weekday\",\n weeknumber: \"weekNumber\",\n weeksnumber: \"weekNumber\",\n weeknumbers: \"weekNumber\",\n weekyear: \"weekYear\",\n weekyears: \"weekYear\",\n ordinal: \"ordinal\"\n }[unit.toLowerCase()];\n if (!normalized) throw new InvalidUnitError(unit);\n return normalized;\n} // this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\n\n\nfunction quickDT(obj, opts) {\n var zone = normalizeZone(opts.zone, Settings.defaultZone),\n loc = Locale.fromObject(opts),\n tsNow = Settings.now();\n var ts, o; // assume we have the higher-order units\n\n if (!isUndefined(obj.year)) {\n for (var _iterator = _createForOfIteratorHelperLoose(orderedUnits), _step; !(_step = _iterator()).done;) {\n var u = _step.value;\n\n if (isUndefined(obj[u])) {\n obj[u] = defaultUnitValues[u];\n }\n }\n\n var invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n var offsetProvis = zone.offset(tsNow);\n\n var _objToTS = objToTS(obj, offsetProvis, zone);\n\n ts = _objToTS[0];\n o = _objToTS[1];\n } else {\n ts = tsNow;\n }\n\n return new DateTime({\n ts: ts,\n zone: zone,\n loc: loc,\n o: o\n });\n}\n\nfunction diffRelative(start, end, opts) {\n var round = isUndefined(opts.round) ? true : opts.round,\n format = function format(c, unit) {\n c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n var formatter = end.loc.clone(opts).relFormatter(opts);\n return formatter.format(c, unit);\n },\n differ = function differ(unit) {\n if (opts.calendary) {\n if (!end.hasSame(start, unit)) {\n return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n } else return 0;\n } else {\n return end.diff(start, unit).get(unit);\n }\n };\n\n if (opts.unit) {\n return format(differ(opts.unit), opts.unit);\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(opts.units), _step2; !(_step2 = _iterator2()).done;) {\n var unit = _step2.value;\n var count = differ(unit);\n\n if (Math.abs(count) >= 1) {\n return format(count, unit);\n }\n }\n\n return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n var opts = {},\n args;\n\n if (argList.length > 0 && _typeof(argList[argList.length - 1]) === \"object\") {\n opts = argList[argList.length - 1];\n args = Array.from(argList).slice(0, argList.length - 1);\n } else {\n args = Array.from(argList);\n }\n\n return [opts, args];\n}\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime#local}, {@link DateTime#utc}, and (most flexibly) {@link DateTime#fromObject}. To create one from a standard string format, use {@link DateTime#fromISO}, {@link DateTime#fromHTTP}, and {@link DateTime#fromRFC2822}. To create one from a custom string format, use {@link DateTime#fromFormat}. To create one from a native JS date, use {@link DateTime#fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\n\n\nvar DateTime = /*#__PURE__*/function () {\n /**\n * @access private\n */\n function DateTime(config) {\n var zone = config.zone || Settings.defaultZone;\n var invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) || (!zone.isValid ? unsupportedZone(zone) : null);\n /**\n * @access private\n */\n\n this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n var c = null,\n o = null;\n\n if (!invalid) {\n var unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n if (unchanged) {\n var _ref = [config.old.c, config.old.o];\n c = _ref[0];\n o = _ref[1];\n } else {\n var ot = zone.offset(this.ts);\n c = tsToObj(this.ts, ot);\n invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n c = invalid ? null : c;\n o = invalid ? null : ot;\n }\n }\n /**\n * @access private\n */\n\n\n this._zone = zone;\n /**\n * @access private\n */\n\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n\n this.invalid = invalid;\n /**\n * @access private\n */\n\n this.weekData = null;\n /**\n * @access private\n */\n\n this.c = c;\n /**\n * @access private\n */\n\n this.o = o;\n /**\n * @access private\n */\n\n this.isLuxonDateTime = true;\n } // CONSTRUCT\n\n /**\n * Create a DateTime for the current instant, in the system's time zone.\n *\n * Use Settings to override these default values if needed.\n * @example DateTime.now().toISO() //~> now in the ISO format\n * @return {DateTime}\n */\n\n\n DateTime.now = function now() {\n return new DateTime({});\n }\n /**\n * Create a local DateTime\n * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month, 1-indexed\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.local() //~> now\n * @example DateTime.local({ zone: \"America/New_York\" }) //~> now, in US east coast time\n * @example DateTime.local(2017) //~> 2017-01-01T00:00:00\n * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00\n * @example DateTime.local(2017, 3, 12, { locale: \"fr\" }) //~> 2017-03-12T00:00:00, with a French locale\n * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00\n * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" }) //~> 2017-03-12T05:00:00, in UTC\n * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00\n * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10\n * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765\n * @return {DateTime}\n */\n ;\n\n DateTime.local = function local() {\n var _lastOpts = lastOpts(arguments),\n opts = _lastOpts[0],\n args = _lastOpts[1],\n year = args[0],\n month = args[1],\n day = args[2],\n hour = args[3],\n minute = args[4],\n second = args[5],\n millisecond = args[6];\n\n return quickDT({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n millisecond: millisecond\n }, opts);\n }\n /**\n * Create a DateTime in UTC\n * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @param {Object} options - configuration options for the DateTime\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @example DateTime.utc() //~> now\n * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z\n * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z\n * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" }) //~> 2017-03-12T05:45:00Z with a French locale\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n * @return {DateTime}\n */\n ;\n\n DateTime.utc = function utc() {\n var _lastOpts2 = lastOpts(arguments),\n opts = _lastOpts2[0],\n args = _lastOpts2[1],\n year = args[0],\n month = args[1],\n day = args[2],\n hour = args[3],\n minute = args[4],\n second = args[5],\n millisecond = args[6];\n\n opts.zone = FixedOffsetZone.utcInstance;\n return quickDT({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n millisecond: millisecond\n }, opts);\n }\n /**\n * Create a DateTime from a JavaScript Date object. Uses the default zone.\n * @param {Date} date - a JavaScript Date object\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @return {DateTime}\n */\n ;\n\n DateTime.fromJSDate = function fromJSDate(date, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ts = isDate(date) ? date.valueOf() : NaN;\n\n if (Number.isNaN(ts)) {\n return DateTime.invalid(\"invalid input\");\n }\n\n var zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n return new DateTime({\n ts: ts,\n zone: zoneToUse,\n loc: Locale.fromObject(options)\n });\n }\n /**\n * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @return {DateTime}\n */\n ;\n\n DateTime.fromMillis = function fromMillis(milliseconds, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!isNumber(milliseconds)) {\n throw new InvalidArgumentError(\"fromMillis requires a numerical input, but received a \" + _typeof(milliseconds) + \" with value \" + milliseconds);\n } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n return DateTime.invalid(\"Timestamp out of range\");\n } else {\n return new DateTime({\n ts: milliseconds,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options)\n });\n }\n }\n /**\n * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} seconds - a number of seconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @return {DateTime}\n */\n ;\n\n DateTime.fromSeconds = function fromSeconds(seconds, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!isNumber(seconds)) {\n throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n } else {\n return new DateTime({\n ts: seconds * 1000,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options)\n });\n }\n }\n /**\n * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.year - a year, such as 1987\n * @param {number} obj.month - a month, 1-12\n * @param {number} obj.day - a day of the month, 1-31, depending on the month\n * @param {number} obj.ordinal - day of the year, 1-365 or 366\n * @param {number} obj.weekYear - an ISO week year\n * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n * @param {number} obj.hour - hour of the day, 0-23\n * @param {number} obj.minute - minute of the hour, 0-59\n * @param {number} obj.second - second of the minute, 0-59\n * @param {number} obj.millisecond - millisecond of the second, 0-999\n * @param {Object} opts - options for creating this DateTime\n * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n * @return {DateTime}\n */\n ;\n\n DateTime.fromObject = function fromObject(obj, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n obj = obj || {};\n var zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n var tsNow = Settings.now(),\n offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow),\n normalized = normalizeObject(obj, normalizeUnit),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber,\n loc = Locale.fromObject(opts); // cases:\n // just a weekday -> this week's instance of that weekday, no worries\n // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n // (gregorian month or day) + ordinal -> error\n // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n var useWeekData = definiteWeekDef || normalized.weekday && !containsGregor; // configure ourselves to deal with gregorian dates or week stuff\n\n var units,\n defaultValues,\n objNow = tsToObj(tsNow, offsetProvis);\n\n if (useWeekData) {\n units = orderedWeekUnits;\n defaultValues = defaultWeekUnitValues;\n objNow = gregorianToWeek(objNow);\n } else if (containsOrdinal) {\n units = orderedOrdinalUnits;\n defaultValues = defaultOrdinalUnitValues;\n objNow = gregorianToOrdinal(objNow);\n } else {\n units = orderedUnits;\n defaultValues = defaultUnitValues;\n } // set default values for missing stuff\n\n\n var foundFirst = false;\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(units), _step3; !(_step3 = _iterator3()).done;) {\n var u = _step3.value;\n var v = normalized[u];\n\n if (!isUndefined(v)) {\n foundFirst = true;\n } else if (foundFirst) {\n normalized[u] = defaultValues[u];\n } else {\n normalized[u] = objNow[u];\n }\n } // make sure the values we have are in range\n\n\n var higherOrderInvalid = useWeekData ? hasInvalidWeekData(normalized) : containsOrdinal ? hasInvalidOrdinalData(normalized) : hasInvalidGregorianData(normalized),\n invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n } // compute the actual time\n\n\n var gregorian = useWeekData ? weekToGregorian(normalized) : containsOrdinal ? ordinalToGregorian(normalized) : normalized,\n _objToTS2 = objToTS(gregorian, offsetProvis, zoneToUse),\n tsFinal = _objToTS2[0],\n offsetFinal = _objToTS2[1],\n inst = new DateTime({\n ts: tsFinal,\n zone: zoneToUse,\n o: offsetFinal,\n loc: loc\n }); // gregorian data + weekday serves only to validate\n\n\n if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n return DateTime.invalid(\"mismatched weekday\", \"you can't specify both a weekday of \" + normalized.weekday + \" and a date of \" + inst.toISO());\n }\n\n return inst;\n }\n /**\n * Create a DateTime from an ISO 8601 string\n * @param {string} text - the ISO string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n * @example DateTime.fromISO('2016-W05-4')\n * @return {DateTime}\n */\n ;\n\n DateTime.fromISO = function fromISO(text, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _parseISODate = parseISODate(text),\n vals = _parseISODate[0],\n parsedZone = _parseISODate[1];\n\n return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n }\n /**\n * Create a DateTime from an RFC 2822 string\n * @param {string} text - the RFC 2822 string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n * @return {DateTime}\n */\n ;\n\n DateTime.fromRFC2822 = function fromRFC2822(text, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _parseRFC2822Date = parseRFC2822Date(text),\n vals = _parseRFC2822Date[0],\n parsedZone = _parseRFC2822Date[1];\n\n return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n }\n /**\n * Create a DateTime from an HTTP header date\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @param {string} text - the HTTP header date\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')\n * @return {DateTime}\n */\n ;\n\n DateTime.fromHTTP = function fromHTTP(text, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _parseHTTPDate = parseHTTPDate(text),\n vals = _parseHTTPDate[0],\n parsedZone = _parseHTTPDate[1];\n\n return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n }\n /**\n * Create a DateTime from an input string and format string.\n * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @return {DateTime}\n */\n ;\n\n DateTime.fromFormat = function fromFormat(text, fmt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n if (isUndefined(text) || isUndefined(fmt)) {\n throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n }\n\n var _opts = opts,\n _opts$locale = _opts.locale,\n locale = _opts$locale === void 0 ? null : _opts$locale,\n _opts$numberingSystem = _opts.numberingSystem,\n numberingSystem = _opts$numberingSystem === void 0 ? null : _opts$numberingSystem,\n localeToUse = Locale.fromOpts({\n locale: locale,\n numberingSystem: numberingSystem,\n defaultToEN: true\n }),\n _parseFromTokens = parseFromTokens(localeToUse, text, fmt),\n vals = _parseFromTokens[0],\n parsedZone = _parseFromTokens[1],\n specificOffset = _parseFromTokens[2],\n invalid = _parseFromTokens[3];\n\n if (invalid) {\n return DateTime.invalid(invalid);\n } else {\n return parseDataToDateTime(vals, parsedZone, opts, \"format \" + fmt, text, specificOffset);\n }\n }\n /**\n * @deprecated use fromFormat instead\n */\n ;\n\n DateTime.fromString = function fromString(text, fmt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return DateTime.fromFormat(text, fmt, opts);\n }\n /**\n * Create a DateTime from a SQL date, time, or datetime\n * Defaults to en-US if no locale has been specified, regardless of the system's locale\n * @param {string} text - the string to parse\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @example DateTime.fromSQL('2017-05-15')\n * @example DateTime.fromSQL('2017-05-15 09:12:34')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n * @example DateTime.fromSQL('09:12:34.342')\n * @return {DateTime}\n */\n ;\n\n DateTime.fromSQL = function fromSQL(text, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _parseSQL = parseSQL(text),\n vals = _parseSQL[0],\n parsedZone = _parseSQL[1];\n\n return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n }\n /**\n * Create an invalid DateTime.\n * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {DateTime}\n */\n ;\n\n DateTime.invalid = function invalid(reason, explanation) {\n if (explanation === void 0) {\n explanation = null;\n }\n\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n }\n\n var invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDateTimeError(invalid);\n } else {\n return new DateTime({\n invalid: invalid\n });\n }\n }\n /**\n * Check if an object is an instance of DateTime. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n ;\n\n DateTime.isDateTime = function isDateTime(o) {\n return o && o.isLuxonDateTime || false;\n } // INFO\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n * @return {number}\n */\n ;\n\n var _proto = DateTime.prototype;\n\n _proto.get = function get(unit) {\n return this[unit];\n }\n /**\n * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n * * The DateTime was created by an operation on another invalid date\n * @type {boolean}\n */\n ;\n /**\n * Returns the resolved Intl options for this DateTime.\n * This is useful in understanding the behavior of formatting methods\n * @param {Object} opts - the same options as toLocaleString\n * @return {Object}\n */\n\n\n _proto.resolvedLocaleOptions = function resolvedLocaleOptions(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n var _Formatter$create$res = Formatter.create(this.loc.clone(opts), opts).resolvedOptions(this),\n locale = _Formatter$create$res.locale,\n numberingSystem = _Formatter$create$res.numberingSystem,\n calendar = _Formatter$create$res.calendar;\n\n return {\n locale: locale,\n numberingSystem: numberingSystem,\n outputCalendar: calendar\n };\n } // TRANSFORM\n\n /**\n * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n *\n * Equivalent to {@link DateTime#setZone}('utc')\n * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n * @param {Object} [opts={}] - options to pass to `setZone()`\n * @return {DateTime}\n */\n ;\n\n _proto.toUTC = function toUTC(offset, opts) {\n if (offset === void 0) {\n offset = 0;\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n return this.setZone(FixedOffsetZone.instance(offset), opts);\n }\n /**\n * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n *\n * Equivalent to `setZone('local')`\n * @return {DateTime}\n */\n ;\n\n _proto.toLocal = function toLocal() {\n return this.setZone(Settings.defaultZone);\n }\n /**\n * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n *\n * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n * @param {Object} opts - options\n * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n * @return {DateTime}\n */\n ;\n\n _proto.setZone = function setZone(zone, _temp) {\n var _ref2 = _temp === void 0 ? {} : _temp,\n _ref2$keepLocalTime = _ref2.keepLocalTime,\n keepLocalTime = _ref2$keepLocalTime === void 0 ? false : _ref2$keepLocalTime,\n _ref2$keepCalendarTim = _ref2.keepCalendarTime,\n keepCalendarTime = _ref2$keepCalendarTim === void 0 ? false : _ref2$keepCalendarTim;\n\n zone = normalizeZone(zone, Settings.defaultZone);\n\n if (zone.equals(this.zone)) {\n return this;\n } else if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n } else {\n var newTS = this.ts;\n\n if (keepLocalTime || keepCalendarTime) {\n var offsetGuess = zone.offset(this.ts);\n var asObj = this.toObject();\n\n var _objToTS3 = objToTS(asObj, offsetGuess, zone);\n\n newTS = _objToTS3[0];\n }\n\n return clone(this, {\n ts: newTS,\n zone: zone\n });\n }\n }\n /**\n * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n * @param {Object} properties - the properties to set\n * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n * @return {DateTime}\n */\n ;\n\n _proto.reconfigure = function reconfigure(_temp2) {\n var _ref3 = _temp2 === void 0 ? {} : _temp2,\n locale = _ref3.locale,\n numberingSystem = _ref3.numberingSystem,\n outputCalendar = _ref3.outputCalendar;\n\n var loc = this.loc.clone({\n locale: locale,\n numberingSystem: numberingSystem,\n outputCalendar: outputCalendar\n });\n return clone(this, {\n loc: loc\n });\n }\n /**\n * \"Set\" the locale. Returns a newly-constructed DateTime.\n * Just a convenient alias for reconfigure({ locale })\n * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n * @return {DateTime}\n */\n ;\n\n _proto.setLocale = function setLocale(locale) {\n return this.reconfigure({\n locale: locale\n });\n }\n /**\n * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n * @param {Object} values - a mapping of units to numbers\n * @example dt.set({ year: 2017 })\n * @example dt.set({ hour: 8, minute: 30 })\n * @example dt.set({ weekday: 5 })\n * @example dt.set({ year: 2005, ordinal: 234 })\n * @return {DateTime}\n */\n ;\n\n _proto.set = function set(values) {\n if (!this.isValid) return this;\n var normalized = normalizeObject(values, normalizeUnit),\n settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\"Can't mix weekYear/weekNumber units with year/month/day or ordinals\");\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n var mixed;\n\n if (settingWeekStuff) {\n mixed = weekToGregorian(_extends({}, gregorianToWeek(this.c), normalized));\n } else if (!isUndefined(normalized.ordinal)) {\n mixed = ordinalToGregorian(_extends({}, gregorianToOrdinal(this.c), normalized));\n } else {\n mixed = _extends({}, this.toObject(), normalized); // if we didn't set the day but we ended up on an overflow date,\n // use the last day of the right month\n\n if (isUndefined(normalized.day)) {\n mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n }\n }\n\n var _objToTS4 = objToTS(mixed, this.o, this.zone),\n ts = _objToTS4[0],\n o = _objToTS4[1];\n\n return clone(this, {\n ts: ts,\n o: o\n });\n }\n /**\n * Add a period of time to this DateTime and return the resulting DateTime\n *\n * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @example DateTime.now().plus(123) //~> in 123 milliseconds\n * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n * @return {DateTime}\n */\n ;\n\n _proto.plus = function plus(duration) {\n if (!this.isValid) return this;\n var dur = Duration.fromDurationLike(duration);\n return clone(this, adjustTime(this, dur));\n }\n /**\n * Subtract a period of time to this DateTime and return the resulting DateTime\n * See {@link DateTime#plus}\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n @return {DateTime}\n */\n ;\n\n _proto.minus = function minus(duration) {\n if (!this.isValid) return this;\n var dur = Duration.fromDurationLike(duration).negate();\n return clone(this, adjustTime(this, dur));\n }\n /**\n * \"Set\" this DateTime to the beginning of a unit of time.\n * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n * @return {DateTime}\n */\n ;\n\n _proto.startOf = function startOf(unit) {\n if (!this.isValid) return this;\n var o = {},\n normalizedUnit = Duration.normalizeUnit(unit);\n\n switch (normalizedUnit) {\n case \"years\":\n o.month = 1;\n // falls through\n\n case \"quarters\":\n case \"months\":\n o.day = 1;\n // falls through\n\n case \"weeks\":\n case \"days\":\n o.hour = 0;\n // falls through\n\n case \"hours\":\n o.minute = 0;\n // falls through\n\n case \"minutes\":\n o.second = 0;\n // falls through\n\n case \"seconds\":\n o.millisecond = 0;\n break;\n // no default, invalid units throw in normalizeUnit()\n }\n\n if (normalizedUnit === \"weeks\") {\n o.weekday = 1;\n }\n\n if (normalizedUnit === \"quarters\") {\n var q = Math.ceil(this.month / 3);\n o.month = (q - 1) * 3 + 1;\n }\n\n return this.set(o);\n }\n /**\n * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n * @return {DateTime}\n */\n ;\n\n _proto.endOf = function endOf(unit) {\n var _this$plus;\n\n return this.isValid ? this.plus((_this$plus = {}, _this$plus[unit] = 1, _this$plus)).startOf(unit).minus(1) : this;\n } // OUTPUT\n\n /**\n * Returns a string representation of this DateTime formatted according to the specified format string.\n * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @param {string} fmt - the format string\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n * @return {string}\n */\n ;\n\n _proto.toFormat = function toFormat(fmt, opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return this.isValid ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt) : INVALID;\n }\n /**\n * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n * of the DateTime in the assigned locale.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString({ locale: 'en-gb' }); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n * @return {string}\n */\n ;\n\n _proto.toLocaleString = function toLocaleString(formatOpts, opts) {\n if (formatOpts === void 0) {\n formatOpts = DATE_SHORT;\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n return this.isValid ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this) : INVALID;\n }\n /**\n * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n * @example DateTime.now().toLocaleParts(); //=> [\n * //=> { type: 'day', value: '25' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'month', value: '05' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'year', value: '1982' }\n * //=> ]\n */\n ;\n\n _proto.toLocaleParts = function toLocaleParts(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n return this.isValid ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this) : [];\n }\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n * @return {string}\n */\n ;\n\n _proto.toISO = function toISO(_temp3) {\n var _ref4 = _temp3 === void 0 ? {} : _temp3,\n _ref4$format = _ref4.format,\n format = _ref4$format === void 0 ? \"extended\" : _ref4$format,\n _ref4$suppressSeconds = _ref4.suppressSeconds,\n suppressSeconds = _ref4$suppressSeconds === void 0 ? false : _ref4$suppressSeconds,\n _ref4$suppressMillise = _ref4.suppressMilliseconds,\n suppressMilliseconds = _ref4$suppressMillise === void 0 ? false : _ref4$suppressMillise,\n _ref4$includeOffset = _ref4.includeOffset,\n includeOffset = _ref4$includeOffset === void 0 ? true : _ref4$includeOffset,\n _ref4$extendedZone = _ref4.extendedZone,\n extendedZone = _ref4$extendedZone === void 0 ? false : _ref4$extendedZone;\n\n if (!this.isValid) {\n return null;\n }\n\n var ext = format === \"extended\";\n\n var c = _toISODate(this, ext);\n\n c += \"T\";\n c += _toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n return c;\n }\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's date component\n * @param {Object} opts - options\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n * @return {string}\n */\n ;\n\n _proto.toISODate = function toISODate(_temp4) {\n var _ref5 = _temp4 === void 0 ? {} : _temp4,\n _ref5$format = _ref5.format,\n format = _ref5$format === void 0 ? \"extended\" : _ref5$format;\n\n if (!this.isValid) {\n return null;\n }\n\n return _toISODate(this, format === \"extended\");\n }\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's week date\n * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n * @return {string}\n */\n ;\n\n _proto.toISOWeekDate = function toISOWeekDate() {\n return toTechFormat(this, \"kkkk-'W'WW-c\");\n }\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's time component\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n * @return {string}\n */\n ;\n\n _proto.toISOTime = function toISOTime(_temp5) {\n var _ref6 = _temp5 === void 0 ? {} : _temp5,\n _ref6$suppressMillise = _ref6.suppressMilliseconds,\n suppressMilliseconds = _ref6$suppressMillise === void 0 ? false : _ref6$suppressMillise,\n _ref6$suppressSeconds = _ref6.suppressSeconds,\n suppressSeconds = _ref6$suppressSeconds === void 0 ? false : _ref6$suppressSeconds,\n _ref6$includeOffset = _ref6.includeOffset,\n includeOffset = _ref6$includeOffset === void 0 ? true : _ref6$includeOffset,\n _ref6$includePrefix = _ref6.includePrefix,\n includePrefix = _ref6$includePrefix === void 0 ? false : _ref6$includePrefix,\n _ref6$extendedZone = _ref6.extendedZone,\n extendedZone = _ref6$extendedZone === void 0 ? false : _ref6$extendedZone,\n _ref6$format = _ref6.format,\n format = _ref6$format === void 0 ? \"extended\" : _ref6$format;\n\n if (!this.isValid) {\n return null;\n }\n\n var c = includePrefix ? \"T\" : \"\";\n return c + _toISOTime(this, format === \"extended\", suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n }\n /**\n * Returns an RFC 2822-compatible string representation of this DateTime\n * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n * @return {string}\n */\n ;\n\n _proto.toRFC2822 = function toRFC2822() {\n return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n }\n /**\n * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n * Specifically, the string conforms to RFC 1123.\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n * @return {string}\n */\n ;\n\n _proto.toHTTP = function toHTTP() {\n return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n }\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Date\n * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n * @return {string}\n */\n ;\n\n _proto.toSQLDate = function toSQLDate() {\n if (!this.isValid) {\n return null;\n }\n\n return _toISODate(this, true);\n }\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Time\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n * @return {string}\n */\n ;\n\n _proto.toSQLTime = function toSQLTime(_temp6) {\n var _ref7 = _temp6 === void 0 ? {} : _temp6,\n _ref7$includeOffset = _ref7.includeOffset,\n includeOffset = _ref7$includeOffset === void 0 ? true : _ref7$includeOffset,\n _ref7$includeZone = _ref7.includeZone,\n includeZone = _ref7$includeZone === void 0 ? false : _ref7$includeZone,\n _ref7$includeOffsetSp = _ref7.includeOffsetSpace,\n includeOffsetSpace = _ref7$includeOffsetSp === void 0 ? true : _ref7$includeOffsetSp;\n\n var fmt = \"HH:mm:ss.SSS\";\n\n if (includeZone || includeOffset) {\n if (includeOffsetSpace) {\n fmt += \" \";\n }\n\n if (includeZone) {\n fmt += \"z\";\n } else if (includeOffset) {\n fmt += \"ZZ\";\n }\n }\n\n return toTechFormat(this, fmt, true);\n }\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n * @return {string}\n */\n ;\n\n _proto.toSQL = function toSQL(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n if (!this.isValid) {\n return null;\n }\n\n return this.toSQLDate() + \" \" + this.toSQLTime(opts);\n }\n /**\n * Returns a string representation of this DateTime appropriate for debugging\n * @return {string}\n */\n ;\n\n _proto.toString = function toString() {\n return this.isValid ? this.toISO() : INVALID;\n }\n /**\n * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n * @return {number}\n */\n ;\n\n _proto.valueOf = function valueOf() {\n return this.toMillis();\n }\n /**\n * Returns the epoch milliseconds of this DateTime.\n * @return {number}\n */\n ;\n\n _proto.toMillis = function toMillis() {\n return this.isValid ? this.ts : NaN;\n }\n /**\n * Returns the epoch seconds of this DateTime.\n * @return {number}\n */\n ;\n\n _proto.toSeconds = function toSeconds() {\n return this.isValid ? this.ts / 1000 : NaN;\n }\n /**\n * Returns the epoch seconds (as a whole number) of this DateTime.\n * @return {number}\n */\n ;\n\n _proto.toUnixInteger = function toUnixInteger() {\n return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n }\n /**\n * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n * @return {string}\n */\n ;\n\n _proto.toJSON = function toJSON() {\n return this.toISO();\n }\n /**\n * Returns a BSON serializable equivalent to this DateTime.\n * @return {Date}\n */\n ;\n\n _proto.toBSON = function toBSON() {\n return this.toJSDate();\n }\n /**\n * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n * @return {Object}\n */\n ;\n\n _proto.toObject = function toObject(opts) {\n if (opts === void 0) {\n opts = {};\n }\n\n if (!this.isValid) return {};\n\n var base = _extends({}, this.c);\n\n if (opts.includeConfig) {\n base.outputCalendar = this.outputCalendar;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n\n return base;\n }\n /**\n * Returns a JavaScript Date equivalent to this DateTime.\n * @return {Date}\n */\n ;\n\n _proto.toJSDate = function toJSDate() {\n return new Date(this.isValid ? this.ts : NaN);\n } // COMPARE\n\n /**\n * Return the difference between two DateTimes as a Duration.\n * @param {DateTime} otherDateTime - the DateTime to compare this one to\n * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example\n * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n * i2 = DateTime.fromISO('1983-10-14T10:30');\n * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n * @return {Duration}\n */\n ;\n\n _proto.diff = function diff(otherDateTime, unit, opts) {\n if (unit === void 0) {\n unit = \"milliseconds\";\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n if (!this.isValid || !otherDateTime.isValid) {\n return Duration.invalid(\"created by diffing an invalid DateTime\");\n }\n\n var durOpts = _extends({\n locale: this.locale,\n numberingSystem: this.numberingSystem\n }, opts);\n\n var units = maybeArray(unit).map(Duration.normalizeUnit),\n otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n earlier = otherIsLater ? this : otherDateTime,\n later = otherIsLater ? otherDateTime : this,\n diffed = _diff(earlier, later, units, durOpts);\n\n return otherIsLater ? diffed.negate() : diffed;\n }\n /**\n * Return the difference between this DateTime and right now.\n * See {@link DateTime#diff}\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n ;\n\n _proto.diffNow = function diffNow(unit, opts) {\n if (unit === void 0) {\n unit = \"milliseconds\";\n }\n\n if (opts === void 0) {\n opts = {};\n }\n\n return this.diff(DateTime.now(), unit, opts);\n }\n /**\n * Return an Interval spanning between this DateTime and another DateTime\n * @param {DateTime} otherDateTime - the other end point of the Interval\n * @return {Interval}\n */\n ;\n\n _proto.until = function until(otherDateTime) {\n return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n }\n /**\n * Return whether this DateTime is in the same unit of time as another DateTime.\n * Higher-order units must also be identical for this function to return `true`.\n * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n * @param {DateTime} otherDateTime - the other DateTime\n * @param {string} unit - the unit of time to check sameness on\n * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n * @return {boolean}\n */\n ;\n\n _proto.hasSame = function hasSame(otherDateTime, unit) {\n if (!this.isValid) return false;\n var inputMs = otherDateTime.valueOf();\n var adjustedToZone = this.setZone(otherDateTime.zone, {\n keepLocalTime: true\n });\n return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit);\n }\n /**\n * Equality check\n * Two DateTimes are equal iff they represent the same millisecond, have the same zone and location, and are both valid.\n * To compare just the millisecond values, use `+dt1 === +dt2`.\n * @param {DateTime} other - the other DateTime\n * @return {boolean}\n */\n ;\n\n _proto.equals = function equals(other) {\n return this.isValid && other.isValid && this.valueOf() === other.valueOf() && this.zone.equals(other.zone) && this.loc.equals(other.loc);\n }\n /**\n * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n */\n ;\n\n _proto.toRelative = function toRelative(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!this.isValid) return null;\n var base = options.base || DateTime.fromObject({}, {\n zone: this.zone\n }),\n padding = options.padding ? this < base ? -options.padding : options.padding : 0;\n var units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n var unit = options.unit;\n\n if (Array.isArray(options.unit)) {\n units = options.unit;\n unit = undefined;\n }\n\n return diffRelative(base, this.plus(padding), _extends({}, options, {\n numeric: \"always\",\n units: units,\n unit: unit\n }));\n }\n /**\n * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n */\n ;\n\n _proto.toRelativeCalendar = function toRelativeCalendar(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!this.isValid) return null;\n return diffRelative(options.base || DateTime.fromObject({}, {\n zone: this.zone\n }), this, _extends({}, options, {\n numeric: \"auto\",\n units: [\"years\", \"months\", \"days\"],\n calendary: true\n }));\n }\n /**\n * Return the min of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n * @return {DateTime} the min DateTime, or undefined if called with no argument\n */\n ;\n\n DateTime.min = function min() {\n for (var _len = arguments.length, dateTimes = new Array(_len), _key = 0; _key < _len; _key++) {\n dateTimes[_key] = arguments[_key];\n }\n\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n }\n\n return bestBy(dateTimes, function (i) {\n return i.valueOf();\n }, Math.min);\n }\n /**\n * Return the max of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n * @return {DateTime} the max DateTime, or undefined if called with no argument\n */\n ;\n\n DateTime.max = function max() {\n for (var _len2 = arguments.length, dateTimes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n dateTimes[_key2] = arguments[_key2];\n }\n\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n }\n\n return bestBy(dateTimes, function (i) {\n return i.valueOf();\n }, Math.max);\n } // MISC\n\n /**\n * Explain how a string would be parsed by fromFormat()\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see description)\n * @param {Object} options - options taken by fromFormat()\n * @return {Object}\n */\n ;\n\n DateTime.fromFormatExplain = function fromFormatExplain(text, fmt, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$locale = _options.locale,\n locale = _options$locale === void 0 ? null : _options$locale,\n _options$numberingSys = _options.numberingSystem,\n numberingSystem = _options$numberingSys === void 0 ? null : _options$numberingSys,\n localeToUse = Locale.fromOpts({\n locale: locale,\n numberingSystem: numberingSystem,\n defaultToEN: true\n });\n return explainFromTokens(localeToUse, text, fmt);\n }\n /**\n * @deprecated use fromFormatExplain instead\n */\n ;\n\n DateTime.fromStringExplain = function fromStringExplain(text, fmt, options) {\n if (options === void 0) {\n options = {};\n }\n\n return DateTime.fromFormatExplain(text, fmt, options);\n } // FORMAT PRESETS\n\n /**\n * {@link DateTime#toLocaleString} format like 10/14/1983\n * @type {Object}\n */\n ;\n\n _createClass(DateTime, [{\n key: \"isValid\",\n get: function get() {\n return this.invalid === null;\n }\n /**\n * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n * @type {string}\n */\n\n }, {\n key: \"invalidReason\",\n get: function get() {\n return this.invalid ? this.invalid.reason : null;\n }\n /**\n * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n * @type {string}\n */\n\n }, {\n key: \"invalidExplanation\",\n get: function get() {\n return this.invalid ? this.invalid.explanation : null;\n }\n /**\n * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n *\n * @type {string}\n */\n\n }, {\n key: \"locale\",\n get: function get() {\n return this.isValid ? this.loc.locale : null;\n }\n /**\n * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n *\n * @type {string}\n */\n\n }, {\n key: \"numberingSystem\",\n get: function get() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n /**\n * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n *\n * @type {string}\n */\n\n }, {\n key: \"outputCalendar\",\n get: function get() {\n return this.isValid ? this.loc.outputCalendar : null;\n }\n /**\n * Get the time zone associated with this DateTime.\n * @type {Zone}\n */\n\n }, {\n key: \"zone\",\n get: function get() {\n return this._zone;\n }\n /**\n * Get the name of the time zone.\n * @type {string}\n */\n\n }, {\n key: \"zoneName\",\n get: function get() {\n return this.isValid ? this.zone.name : null;\n }\n /**\n * Get the year\n * @example DateTime.local(2017, 5, 25).year //=> 2017\n * @type {number}\n */\n\n }, {\n key: \"year\",\n get: function get() {\n return this.isValid ? this.c.year : NaN;\n }\n /**\n * Get the quarter\n * @example DateTime.local(2017, 5, 25).quarter //=> 2\n * @type {number}\n */\n\n }, {\n key: \"quarter\",\n get: function get() {\n return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n }\n /**\n * Get the month (1-12).\n * @example DateTime.local(2017, 5, 25).month //=> 5\n * @type {number}\n */\n\n }, {\n key: \"month\",\n get: function get() {\n return this.isValid ? this.c.month : NaN;\n }\n /**\n * Get the day of the month (1-30ish).\n * @example DateTime.local(2017, 5, 25).day //=> 25\n * @type {number}\n */\n\n }, {\n key: \"day\",\n get: function get() {\n return this.isValid ? this.c.day : NaN;\n }\n /**\n * Get the hour of the day (0-23).\n * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n * @type {number}\n */\n\n }, {\n key: \"hour\",\n get: function get() {\n return this.isValid ? this.c.hour : NaN;\n }\n /**\n * Get the minute of the hour (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n * @type {number}\n */\n\n }, {\n key: \"minute\",\n get: function get() {\n return this.isValid ? this.c.minute : NaN;\n }\n /**\n * Get the second of the minute (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n * @type {number}\n */\n\n }, {\n key: \"second\",\n get: function get() {\n return this.isValid ? this.c.second : NaN;\n }\n /**\n * Get the millisecond of the second (0-999).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n * @type {number}\n */\n\n }, {\n key: \"millisecond\",\n get: function get() {\n return this.isValid ? this.c.millisecond : NaN;\n }\n /**\n * Get the week year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n * @type {number}\n */\n\n }, {\n key: \"weekYear\",\n get: function get() {\n return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n }\n /**\n * Get the week number of the week year (1-52ish).\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n * @type {number}\n */\n\n }, {\n key: \"weekNumber\",\n get: function get() {\n return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n }\n /**\n * Get the day of the week.\n * 1 is Monday and 7 is Sunday\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 11, 31).weekday //=> 4\n * @type {number}\n */\n\n }, {\n key: \"weekday\",\n get: function get() {\n return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n }\n /**\n * Get the ordinal (meaning the day of the year)\n * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n * @type {number|DateTime}\n */\n\n }, {\n key: \"ordinal\",\n get: function get() {\n return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n }\n /**\n * Get the human readable short month name, such as 'Oct'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n * @type {string}\n */\n\n }, {\n key: \"monthShort\",\n get: function get() {\n return this.isValid ? Info.months(\"short\", {\n locObj: this.loc\n })[this.month - 1] : null;\n }\n /**\n * Get the human readable long month name, such as 'October'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthLong //=> October\n * @type {string}\n */\n\n }, {\n key: \"monthLong\",\n get: function get() {\n return this.isValid ? Info.months(\"long\", {\n locObj: this.loc\n })[this.month - 1] : null;\n }\n /**\n * Get the human readable short weekday, such as 'Mon'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n * @type {string}\n */\n\n }, {\n key: \"weekdayShort\",\n get: function get() {\n return this.isValid ? Info.weekdays(\"short\", {\n locObj: this.loc\n })[this.weekday - 1] : null;\n }\n /**\n * Get the human readable long weekday, such as 'Monday'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n * @type {string}\n */\n\n }, {\n key: \"weekdayLong\",\n get: function get() {\n return this.isValid ? Info.weekdays(\"long\", {\n locObj: this.loc\n })[this.weekday - 1] : null;\n }\n /**\n * Get the UTC offset of this DateTime in minutes\n * @example DateTime.now().offset //=> -240\n * @example DateTime.utc().offset //=> 0\n * @type {number}\n */\n\n }, {\n key: \"offset\",\n get: function get() {\n return this.isValid ? +this.o : NaN;\n }\n /**\n * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n\n }, {\n key: \"offsetNameShort\",\n get: function get() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"short\",\n locale: this.locale\n });\n } else {\n return null;\n }\n }\n /**\n * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n\n }, {\n key: \"offsetNameLong\",\n get: function get() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"long\",\n locale: this.locale\n });\n } else {\n return null;\n }\n }\n /**\n * Get whether this zone's offset ever changes, as in a DST.\n * @type {boolean}\n */\n\n }, {\n key: \"isOffsetFixed\",\n get: function get() {\n return this.isValid ? this.zone.isUniversal : null;\n }\n /**\n * Get whether the DateTime is in a DST.\n * @type {boolean}\n */\n\n }, {\n key: \"isInDST\",\n get: function get() {\n if (this.isOffsetFixed) {\n return false;\n } else {\n return this.offset > this.set({\n month: 1,\n day: 1\n }).offset || this.offset > this.set({\n month: 5\n }).offset;\n }\n }\n /**\n * Returns true if this DateTime is in a leap year, false otherwise\n * @example DateTime.local(2016).isInLeapYear //=> true\n * @example DateTime.local(2013).isInLeapYear //=> false\n * @type {boolean}\n */\n\n }, {\n key: \"isInLeapYear\",\n get: function get() {\n return isLeapYear(this.year);\n }\n /**\n * Returns the number of days in this DateTime's month\n * @example DateTime.local(2016, 2).daysInMonth //=> 29\n * @example DateTime.local(2016, 3).daysInMonth //=> 31\n * @type {number}\n */\n\n }, {\n key: \"daysInMonth\",\n get: function get() {\n return daysInMonth(this.year, this.month);\n }\n /**\n * Returns the number of days in this DateTime's year\n * @example DateTime.local(2016).daysInYear //=> 366\n * @example DateTime.local(2013).daysInYear //=> 365\n * @type {number}\n */\n\n }, {\n key: \"daysInYear\",\n get: function get() {\n return this.isValid ? daysInYear(this.year) : NaN;\n }\n /**\n * Returns the number of weeks in this DateTime's year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2004).weeksInWeekYear //=> 53\n * @example DateTime.local(2013).weeksInWeekYear //=> 52\n * @type {number}\n */\n\n }, {\n key: \"weeksInWeekYear\",\n get: function get() {\n return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n }\n }], [{\n key: \"DATE_SHORT\",\n get: function get() {\n return DATE_SHORT;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n * @type {Object}\n */\n\n }, {\n key: \"DATE_MED\",\n get: function get() {\n return DATE_MED;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n * @type {Object}\n */\n\n }, {\n key: \"DATE_MED_WITH_WEEKDAY\",\n get: function get() {\n return DATE_MED_WITH_WEEKDAY;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n * @type {Object}\n */\n\n }, {\n key: \"DATE_FULL\",\n get: function get() {\n return DATE_FULL;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n * @type {Object}\n */\n\n }, {\n key: \"DATE_HUGE\",\n get: function get() {\n return DATE_HUGE;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_SIMPLE\",\n get: function get() {\n return TIME_SIMPLE;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_WITH_SECONDS\",\n get: function get() {\n return TIME_WITH_SECONDS;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_WITH_SHORT_OFFSET\",\n get: function get() {\n return TIME_WITH_SHORT_OFFSET;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_WITH_LONG_OFFSET\",\n get: function get() {\n return TIME_WITH_LONG_OFFSET;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_24_SIMPLE\",\n get: function get() {\n return TIME_24_SIMPLE;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_24_WITH_SECONDS\",\n get: function get() {\n return TIME_24_WITH_SECONDS;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_24_WITH_SHORT_OFFSET\",\n get: function get() {\n return TIME_24_WITH_SHORT_OFFSET;\n }\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n * @type {Object}\n */\n\n }, {\n key: \"TIME_24_WITH_LONG_OFFSET\",\n get: function get() {\n return TIME_24_WITH_LONG_OFFSET;\n }\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_SHORT\",\n get: function get() {\n return DATETIME_SHORT;\n }\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_SHORT_WITH_SECONDS\",\n get: function get() {\n return DATETIME_SHORT_WITH_SECONDS;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_MED\",\n get: function get() {\n return DATETIME_MED;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_MED_WITH_SECONDS\",\n get: function get() {\n return DATETIME_MED_WITH_SECONDS;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_MED_WITH_WEEKDAY\",\n get: function get() {\n return DATETIME_MED_WITH_WEEKDAY;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_FULL\",\n get: function get() {\n return DATETIME_FULL;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_FULL_WITH_SECONDS\",\n get: function get() {\n return DATETIME_FULL_WITH_SECONDS;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_HUGE\",\n get: function get() {\n return DATETIME_HUGE;\n }\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n\n }, {\n key: \"DATETIME_HUGE_WITH_SECONDS\",\n get: function get() {\n return DATETIME_HUGE_WITH_SECONDS;\n }\n }]);\n\n return DateTime;\n}();\n\nfunction friendlyDateTime(dateTimeish) {\n if (DateTime.isDateTime(dateTimeish)) {\n return dateTimeish;\n } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n return DateTime.fromJSDate(dateTimeish);\n } else if (dateTimeish && _typeof(dateTimeish) === \"object\") {\n return DateTime.fromObject(dateTimeish);\n } else {\n throw new InvalidArgumentError(\"Unknown datetime argument: \" + dateTimeish + \", of type \" + _typeof(dateTimeish));\n }\n}\n\nvar VERSION = \"2.5.2\";\nexports.DateTime = DateTime;\nexports.Duration = Duration;\nexports.FixedOffsetZone = FixedOffsetZone;\nexports.IANAZone = IANAZone;\nexports.Info = Info;\nexports.Interval = Interval;\nexports.InvalidZone = InvalidZone;\nexports.Settings = Settings;\nexports.SystemZone = SystemZone;\nexports.VERSION = VERSION;\nexports.Zone = Zone;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","// 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","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\nmodule.exports = isArray;","import React, { FC } from 'react';\n\ninterface IWorkEntity {\n work: Work\n handleDelete: (index: number) => void\n index: number\n}\n\nexport const WorkEntity: FC = ({ work, handleDelete, index }) => (\n
\n
\n \n
\n
\n
\n {work.startAt}\n -\n {work.endAt}\n
\n
\n \n {' '}\n {work?.workDetail?.name}\n \n {work?.amount}\n
\n
\n \n {' '}\n {work.workContent.name}\n
\n
\n \n {' '}\n {work.workProperty.name}\n
\n {\n work.includeRest && (\n
\n \n
\n )\n }\n
\n \n \n \n \n \n \n \n \n \n
\n);\n\nexport const WorkEntityEmpty: FC = () => (\n
\n
\n \n
\n
\n まだ追加されていません\n
\n
\n);\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar stringTag = '[object String]';\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n\nfunction isString(value) {\n return typeof value == 'string' || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;\n}\n\nmodule.exports = isString;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport uniq from \"lodash/uniq\";\nexport var defaultLocaleResolver = function defaultLocaleResolver(i18n, locale) {\n var locales = [];\n var list = [];\n locales.push(locale);\n\n if (!locale) {\n locales.push(i18n.locale);\n }\n\n if (i18n.enableFallback) {\n locales.push(i18n.defaultLocale);\n }\n\n locales.filter(Boolean).map(function (entry) {\n return entry.toString();\n }).forEach(function (currentLocale) {\n if (!list.includes(currentLocale)) {\n list.push(currentLocale);\n }\n\n if (!i18n.enableFallback) {\n return;\n }\n\n var codes = currentLocale.split(\"-\");\n\n if (codes.length === 3) {\n list.push(\"\".concat(codes[0], \"-\").concat(codes[1]));\n }\n\n list.push(codes[0]);\n });\n return uniq(list);\n};\nexport var Locales = /*#__PURE__*/function () {\n function Locales(i18n) {\n _classCallCheck(this, Locales);\n\n this.i18n = i18n;\n this.registry = {};\n this.register(\"default\", defaultLocaleResolver);\n }\n\n _createClass(Locales, [{\n key: \"register\",\n value: function register(locale, localeResolver) {\n if (typeof localeResolver !== \"function\") {\n var result = localeResolver;\n\n localeResolver = function localeResolver() {\n return result;\n };\n }\n\n this.registry[locale] = localeResolver;\n }\n }, {\n key: \"get\",\n value: function get(locale) {\n var locales = this.registry[locale] || this.registry[this.i18n.locale] || this.registry[\"default\"];\n\n if (typeof locales === \"function\") {\n locales = locales(this.i18n, locale);\n }\n\n if (!(locales instanceof Array)) {\n locales = [locales];\n }\n\n return locales;\n }\n }]);\n\n return Locales;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { en } from \"make-plural\";\nexport function useMakePlural(_ref) {\n var pluralizer = _ref.pluralizer,\n _ref$includeZero = _ref.includeZero,\n includeZero = _ref$includeZero === void 0 ? true : _ref$includeZero,\n _ref$ordinal = _ref.ordinal,\n ordinal = _ref$ordinal === void 0 ? false : _ref$ordinal;\n return function (_i18n, count) {\n return [includeZero && count === 0 ? \"zero\" : \"\", pluralizer(count, ordinal)].filter(Boolean);\n };\n}\nexport var defaultPluralizer = useMakePlural({\n pluralizer: en,\n includeZero: true\n});\nexport var Pluralization = /*#__PURE__*/function () {\n function Pluralization(i18n) {\n _classCallCheck(this, Pluralization);\n\n this.i18n = i18n;\n this.registry = {};\n this.register(\"default\", defaultPluralizer);\n }\n\n _createClass(Pluralization, [{\n key: \"register\",\n value: function register(locale, pluralizer) {\n this.registry[locale] = pluralizer;\n }\n }, {\n key: \"get\",\n value: function get(locale) {\n return this.registry[locale] || this.registry[this.i18n.locale] || this.registry[\"default\"];\n }\n }]);\n\n return Pluralization;\n}();","var a = function a(n, ord) {\n if (ord) return 'other';\n return n == 1 ? 'one' : 'other';\n};\n\nvar b = function b(n, ord) {\n if (ord) return 'other';\n return n == 0 || n == 1 ? 'one' : 'other';\n};\n\nvar c = function c(n, ord) {\n if (ord) return 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\n\nvar d = function d(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\n\nvar e = function e(n, ord) {\n return 'other';\n};\n\nvar f = function f(n, ord) {\n if (ord) return 'other';\n return n == 1 ? 'one' : n == 2 ? 'two' : 'other';\n};\n\nexport var af = a;\nexport var ak = b;\nexport var am = c;\nexport var an = a;\nexport var ar = function ar(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : n == 2 ? 'two' : n100 >= 3 && n100 <= 10 ? 'few' : n100 >= 11 && n100 <= 99 ? 'many' : 'other';\n};\nexport var ars = function ars(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : n == 2 ? 'two' : n100 >= 3 && n100 <= 10 ? 'few' : n100 >= 11 && n100 <= 99 ? 'many' : 'other';\n};\nexport var as = function as(n, ord) {\n if (ord) return n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : n == 6 ? 'many' : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport var asa = a;\nexport var ast = d;\nexport var az = function az(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n i1000 = i.slice(-3);\n if (ord) return i10 == 1 || i10 == 2 || i10 == 5 || i10 == 7 || i10 == 8 || i100 == 20 || i100 == 50 || i100 == 70 || i100 == 80 ? 'one' : i10 == 3 || i10 == 4 || i1000 == 100 || i1000 == 200 || i1000 == 300 || i1000 == 400 || i1000 == 500 || i1000 == 600 || i1000 == 700 || i1000 == 800 || i1000 == 900 ? 'few' : i == 0 || i10 == 6 || i100 == 40 || i100 == 60 || i100 == 90 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var bal = function bal(n, ord) {\n return n == 1 ? 'one' : 'other';\n};\nexport var be = function be(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return (n10 == 2 || n10 == 3) && n100 != 12 && n100 != 13 ? 'few' : 'other';\n return n10 == 1 && n100 != 11 ? 'one' : n10 >= 2 && n10 <= 4 && (n100 < 12 || n100 > 14) ? 'few' : t0 && n10 == 0 || n10 >= 5 && n10 <= 9 || n100 >= 11 && n100 <= 14 ? 'many' : 'other';\n};\nexport var bem = a;\nexport var bez = a;\nexport var bg = a;\nexport var bho = b;\nexport var blo = function blo(n, ord) {\n var s = String(n).split('.'),\n i = s[0];\n if (ord) return i == 0 ? 'zero' : i == 1 ? 'one' : i == 2 || i == 3 || i == 4 || i == 5 || i == 6 ? 'few' : 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : 'other';\n};\nexport var bm = e;\nexport var bn = function bn(n, ord) {\n if (ord) return n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : n == 6 ? 'many' : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport var bo = e;\nexport var br = function br(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2),\n n1000000 = t0 && s[0].slice(-6);\n if (ord) return 'other';\n return n10 == 1 && n100 != 11 && n100 != 71 && n100 != 91 ? 'one' : n10 == 2 && n100 != 12 && n100 != 72 && n100 != 92 ? 'two' : (n10 == 3 || n10 == 4 || n10 == 9) && (n100 < 10 || n100 > 19) && (n100 < 70 || n100 > 79) && (n100 < 90 || n100 > 99) ? 'few' : n != 0 && t0 && n1000000 == 0 ? 'many' : 'other';\n};\nexport var brx = a;\nexport var bs = function bs(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) || f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14) ? 'few' : 'other';\n};\nexport var ca = function ca(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return n == 1 || n == 3 ? 'one' : n == 2 ? 'two' : n == 4 ? 'few' : 'other';\n return n == 1 && v0 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var ce = a;\nexport var ceb = function ceb(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n f10 = f.slice(-1);\n if (ord) return 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport var cgg = a;\nexport var chr = a;\nexport var ckb = a;\nexport var cs = function cs(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : i >= 2 && i <= 4 && v0 ? 'few' : !v0 ? 'many' : 'other';\n};\nexport var cy = function cy(n, ord) {\n if (ord) return n == 0 || n == 7 || n == 8 || n == 9 ? 'zero' : n == 1 ? 'one' : n == 2 ? 'two' : n == 3 || n == 4 ? 'few' : n == 5 || n == 6 ? 'many' : 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : n == 2 ? 'two' : n == 3 ? 'few' : n == 6 ? 'many' : 'other';\n};\nexport var da = function da(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return n == 1 || !t0 && (i == 0 || i == 1) ? 'one' : 'other';\n};\nexport var de = d;\nexport var doi = c;\nexport var dsb = function dsb(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i100 = i.slice(-2),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 || f100 == 1 ? 'one' : v0 && i100 == 2 || f100 == 2 ? 'two' : v0 && (i100 == 3 || i100 == 4) || f100 == 3 || f100 == 4 ? 'few' : 'other';\n};\nexport var dv = a;\nexport var dz = e;\nexport var ee = a;\nexport var el = a;\nexport var en = function en(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return n10 == 1 && n100 != 11 ? 'one' : n10 == 2 && n100 != 12 ? 'two' : n10 == 3 && n100 != 13 ? 'few' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport var eo = a;\nexport var es = function es(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return 'other';\n return n == 1 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var et = d;\nexport var eu = a;\nexport var fa = c;\nexport var ff = function ff(n, ord) {\n if (ord) return 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport var fi = d;\nexport var fil = function fil(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n f10 = f.slice(-1);\n if (ord) return n == 1 ? 'one' : 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport var fo = a;\nexport var fr = function fr(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return n == 1 ? 'one' : 'other';\n return n >= 0 && n < 2 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var fur = a;\nexport var fy = d;\nexport var ga = function ga(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 ? 'one' : n == 2 ? 'two' : t0 && n >= 3 && n <= 6 ? 'few' : t0 && n >= 7 && n <= 10 ? 'many' : 'other';\n};\nexport var gd = function gd(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return n == 1 || n == 11 ? 'one' : n == 2 || n == 12 ? 'two' : n == 3 || n == 13 ? 'few' : 'other';\n return n == 1 || n == 11 ? 'one' : n == 2 || n == 12 ? 'two' : t0 && n >= 3 && n <= 10 || t0 && n >= 13 && n <= 19 ? 'few' : 'other';\n};\nexport var gl = d;\nexport var gsw = a;\nexport var gu = function gu(n, ord) {\n if (ord) return n == 1 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : n == 6 ? 'many' : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport var guw = b;\nexport var gv = function gv(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 ? 'one' : v0 && i10 == 2 ? 'two' : v0 && (i100 == 0 || i100 == 20 || i100 == 40 || i100 == 60 || i100 == 80) ? 'few' : !v0 ? 'many' : 'other';\n};\nexport var ha = a;\nexport var haw = a;\nexport var he = function he(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1];\n if (ord) return 'other';\n return i == 1 && v0 || i == 0 && !v0 ? 'one' : i == 2 && v0 ? 'two' : 'other';\n};\nexport var hi = function hi(n, ord) {\n if (ord) return n == 1 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : n == 6 ? 'many' : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport var hnj = e;\nexport var hr = function hr(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) || f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14) ? 'few' : 'other';\n};\nexport var hsb = function hsb(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i100 = i.slice(-2),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 || f100 == 1 ? 'one' : v0 && i100 == 2 || f100 == 2 ? 'two' : v0 && (i100 == 3 || i100 == 4) || f100 == 3 || f100 == 4 ? 'few' : 'other';\n};\nexport var hu = function hu(n, ord) {\n if (ord) return n == 1 || n == 5 ? 'one' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var hy = function hy(n, ord) {\n if (ord) return n == 1 ? 'one' : 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport var ia = d;\nexport var id = e;\nexport var ig = e;\nexport var ii = e;\nexport var io = d;\nexport var is = function is(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n t = (s[1] || '').replace(/0+$/, ''),\n t0 = Number(s[0]) == n,\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n if (ord) return 'other';\n return t0 && i10 == 1 && i100 != 11 || t % 10 == 1 && t % 100 != 11 ? 'one' : 'other';\n};\nexport var it = function it(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return n == 11 || n == 8 || n == 80 || n == 800 ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var iu = f;\nexport var ja = e;\nexport var jbo = e;\nexport var jgo = a;\nexport var jmc = a;\nexport var jv = e;\nexport var jw = e;\nexport var ka = function ka(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n i100 = i.slice(-2);\n if (ord) return i == 1 ? 'one' : i == 0 || i100 >= 2 && i100 <= 20 || i100 == 40 || i100 == 60 || i100 == 80 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var kab = function kab(n, ord) {\n if (ord) return 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport var kaj = a;\nexport var kcg = a;\nexport var kde = e;\nexport var kea = e;\nexport var kk = function kk(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1);\n if (ord) return n10 == 6 || n10 == 9 || t0 && n10 == 0 && n != 0 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var kkj = a;\nexport var kl = a;\nexport var km = e;\nexport var kn = c;\nexport var ko = e;\nexport var ks = a;\nexport var ksb = a;\nexport var ksh = function ksh(n, ord) {\n if (ord) return 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : 'other';\n};\nexport var ku = a;\nexport var kw = function kw(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2),\n n1000 = t0 && s[0].slice(-3),\n n100000 = t0 && s[0].slice(-5),\n n1000000 = t0 && s[0].slice(-6);\n if (ord) return t0 && n >= 1 && n <= 4 || n100 >= 1 && n100 <= 4 || n100 >= 21 && n100 <= 24 || n100 >= 41 && n100 <= 44 || n100 >= 61 && n100 <= 64 || n100 >= 81 && n100 <= 84 ? 'one' : n == 5 || n100 == 5 ? 'many' : 'other';\n return n == 0 ? 'zero' : n == 1 ? 'one' : n100 == 2 || n100 == 22 || n100 == 42 || n100 == 62 || n100 == 82 || t0 && n1000 == 0 && (n100000 >= 1000 && n100000 <= 20000 || n100000 == 40000 || n100000 == 60000 || n100000 == 80000) || n != 0 && n1000000 == 100000 ? 'two' : n100 == 3 || n100 == 23 || n100 == 43 || n100 == 63 || n100 == 83 ? 'few' : n != 1 && (n100 == 1 || n100 == 21 || n100 == 41 || n100 == 61 || n100 == 81) ? 'many' : 'other';\n};\nexport var ky = a;\nexport var lag = function lag(n, ord) {\n var s = String(n).split('.'),\n i = s[0];\n if (ord) return 'other';\n return n == 0 ? 'zero' : (i == 0 || i == 1) && n != 0 ? 'one' : 'other';\n};\nexport var lb = a;\nexport var lg = a;\nexport var lij = function lij(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1],\n t0 = Number(s[0]) == n;\n if (ord) return n == 11 || n == 8 || t0 && n >= 80 && n <= 89 || t0 && n >= 800 && n <= 899 ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport var lkt = e;\nexport var ln = b;\nexport var lo = function lo(n, ord) {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport var lt = function lt(n, ord) {\n var s = String(n).split('.'),\n f = s[1] || '',\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n10 == 1 && (n100 < 11 || n100 > 19) ? 'one' : n10 >= 2 && n10 <= 9 && (n100 < 11 || n100 > 19) ? 'few' : f != 0 ? 'many' : 'other';\n};\nexport var lv = function lv(n, ord) {\n var s = String(n).split('.'),\n f = s[1] || '',\n v = f.length,\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2),\n f100 = f.slice(-2),\n f10 = f.slice(-1);\n if (ord) return 'other';\n return t0 && n10 == 0 || n100 >= 11 && n100 <= 19 || v == 2 && f100 >= 11 && f100 <= 19 ? 'zero' : n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one' : 'other';\n};\nexport var mas = a;\nexport var mg = b;\nexport var mgo = a;\nexport var mk = function mk(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n if (ord) return i10 == 1 && i100 != 11 ? 'one' : i10 == 2 && i100 != 12 ? 'two' : (i10 == 7 || i10 == 8) && i100 != 17 && i100 != 18 ? 'many' : 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : 'other';\n};\nexport var ml = a;\nexport var mn = a;\nexport var mo = function mo(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 && v0 ? 'one' : !v0 || n == 0 || n != 1 && n100 >= 1 && n100 <= 19 ? 'few' : 'other';\n};\nexport var mr = function mr(n, ord) {\n if (ord) return n == 1 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var ms = function ms(n, ord) {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport var mt = function mt(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 1 ? 'one' : n == 2 ? 'two' : n == 0 || n100 >= 3 && n100 <= 10 ? 'few' : n100 >= 11 && n100 <= 19 ? 'many' : 'other';\n};\nexport var my = e;\nexport var nah = a;\nexport var naq = f;\nexport var nb = a;\nexport var nd = a;\nexport var ne = function ne(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return t0 && n >= 1 && n <= 4 ? 'one' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var nl = d;\nexport var nn = a;\nexport var nnh = a;\nexport var no = a;\nexport var nqo = e;\nexport var nr = a;\nexport var nso = b;\nexport var ny = a;\nexport var nyn = a;\nexport var om = a;\nexport var or = function or(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return n == 1 || n == 5 || t0 && n >= 7 && n <= 9 ? 'one' : n == 2 || n == 3 ? 'two' : n == 4 ? 'few' : n == 6 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var os = a;\nexport var osa = e;\nexport var pa = b;\nexport var pap = a;\nexport var pcm = c;\nexport var pl = function pl(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) ? 'few' : v0 && i != 1 && (i10 == 0 || i10 == 1) || v0 && i10 >= 5 && i10 <= 9 || v0 && i100 >= 12 && i100 <= 14 ? 'many' : 'other';\n};\nexport var prg = function prg(n, ord) {\n var s = String(n).split('.'),\n f = s[1] || '',\n v = f.length,\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2),\n f100 = f.slice(-2),\n f10 = f.slice(-1);\n if (ord) return 'other';\n return t0 && n10 == 0 || n100 >= 11 && n100 <= 19 || v == 2 && f100 >= 11 && f100 <= 19 ? 'zero' : n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one' : 'other';\n};\nexport var ps = a;\nexport var pt = function pt(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return 'other';\n return i == 0 || i == 1 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var pt_PT = function pt_PT(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var rm = a;\nexport var ro = function ro(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 && v0 ? 'one' : !v0 || n == 0 || n != 1 && n100 >= 1 && n100 <= 19 ? 'few' : 'other';\n};\nexport var rof = a;\nexport var ru = function ru(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) ? 'few' : v0 && i10 == 0 || v0 && i10 >= 5 && i10 <= 9 || v0 && i100 >= 11 && i100 <= 14 ? 'many' : 'other';\n};\nexport var rwk = a;\nexport var sah = e;\nexport var saq = a;\nexport var sat = f;\nexport var sc = function sc(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1];\n if (ord) return n == 11 || n == 8 || n == 80 || n == 800 ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport var scn = function scn(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1];\n if (ord) return n == 11 || n == 8 || n == 80 || n == 800 ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport var sd = a;\nexport var sdh = a;\nexport var se = f;\nexport var seh = a;\nexport var ses = e;\nexport var sg = e;\nexport var sh = function sh(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) || f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14) ? 'few' : 'other';\n};\nexport var shi = function shi(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return n >= 0 && n <= 1 ? 'one' : t0 && n >= 2 && n <= 10 ? 'few' : 'other';\n};\nexport var si = function si(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '';\n if (ord) return 'other';\n return n == 0 || n == 1 || i == 0 && f == 1 ? 'one' : 'other';\n};\nexport var sk = function sk(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : i >= 2 && i <= 4 && v0 ? 'few' : !v0 ? 'many' : 'other';\n};\nexport var sl = function sl(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 ? 'one' : v0 && i100 == 2 ? 'two' : v0 && (i100 == 3 || i100 == 4) || !v0 ? 'few' : 'other';\n};\nexport var sma = f;\nexport var smi = f;\nexport var smj = f;\nexport var smn = f;\nexport var sms = f;\nexport var sn = a;\nexport var so = a;\nexport var sq = function sq(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one' : n10 == 4 && n100 != 14 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var sr = function sr(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n i100 = i.slice(-2),\n f10 = f.slice(-1),\n f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) || f10 >= 2 && f10 <= 4 && (f100 < 12 || f100 > 14) ? 'few' : 'other';\n};\nexport var ss = a;\nexport var ssy = a;\nexport var st = a;\nexport var su = e;\nexport var sv = function sv(n, ord) {\n var s = String(n).split('.'),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);\n if (ord) return (n10 == 1 || n10 == 2) && n100 != 11 && n100 != 12 ? 'one' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport var sw = d;\nexport var syr = a;\nexport var ta = a;\nexport var te = a;\nexport var teo = a;\nexport var th = e;\nexport var ti = b;\nexport var tig = a;\nexport var tk = function tk(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1);\n if (ord) return n10 == 6 || n10 == 9 || n == 10 ? 'few' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport var tl = function tl(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n f = s[1] || '',\n v0 = !s[1],\n i10 = i.slice(-1),\n f10 = f.slice(-1);\n if (ord) return n == 1 ? 'one' : 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport var tn = a;\nexport var to = e;\nexport var tpi = e;\nexport var tr = a;\nexport var ts = a;\nexport var tzm = function tzm(n, ord) {\n var s = String(n).split('.'),\n t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return n == 0 || n == 1 || t0 && n >= 11 && n <= 99 ? 'one' : 'other';\n};\nexport var ug = a;\nexport var uk = function uk(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2),\n i10 = i.slice(-1),\n i100 = i.slice(-2);\n if (ord) return n10 == 3 && n100 != 13 ? 'few' : 'other';\n return v0 && i10 == 1 && i100 != 11 ? 'one' : v0 && i10 >= 2 && i10 <= 4 && (i100 < 12 || i100 > 14) ? 'few' : v0 && i10 == 0 || v0 && i10 >= 5 && i10 <= 9 || v0 && i100 >= 11 && i100 <= 14 ? 'many' : 'other';\n};\nexport var und = e;\nexport var ur = d;\nexport var uz = a;\nexport var ve = a;\nexport var vec = function vec(n, ord) {\n var s = String(n).split('.'),\n i = s[0],\n v0 = !s[1],\n i1000000 = i.slice(-6);\n if (ord) return n == 11 || n == 8 || n == 80 || n == 800 ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : i != 0 && i1000000 == 0 && v0 ? 'many' : 'other';\n};\nexport var vi = function vi(n, ord) {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport var vo = a;\nexport var vun = a;\nexport var wa = b;\nexport var wae = a;\nexport var wo = e;\nexport var xh = a;\nexport var xog = a;\nexport var yi = d;\nexport var yo = e;\nexport var yue = e;\nexport var zh = e;\nexport var zu = c;","import camelCase from \"lodash/camelCase\";\nexport function camelCaseKeys(target) {\n if (!target) {\n return {};\n }\n\n return Object.keys(target).reduce(function (buffer, key) {\n buffer[camelCase(key)] = target[key];\n return buffer;\n }, {});\n}","export function isSet(value) {\n return value !== undefined && value !== null;\n}","import BigNumber from \"bignumber.js\";\nvar RoundingModeMap;\n\n(function (RoundingModeMap) {\n RoundingModeMap[RoundingModeMap[\"up\"] = BigNumber.ROUND_UP] = \"up\";\n RoundingModeMap[RoundingModeMap[\"down\"] = BigNumber.ROUND_DOWN] = \"down\";\n RoundingModeMap[RoundingModeMap[\"truncate\"] = BigNumber.ROUND_DOWN] = \"truncate\";\n RoundingModeMap[RoundingModeMap[\"halfUp\"] = BigNumber.ROUND_HALF_UP] = \"halfUp\";\n RoundingModeMap[RoundingModeMap[\"default\"] = BigNumber.ROUND_HALF_UP] = \"default\";\n RoundingModeMap[RoundingModeMap[\"halfDown\"] = BigNumber.ROUND_HALF_DOWN] = \"halfDown\";\n RoundingModeMap[RoundingModeMap[\"halfEven\"] = BigNumber.ROUND_HALF_EVEN] = \"halfEven\";\n RoundingModeMap[RoundingModeMap[\"banker\"] = BigNumber.ROUND_HALF_EVEN] = \"banker\";\n RoundingModeMap[RoundingModeMap[\"ceiling\"] = BigNumber.ROUND_CEIL] = \"ceiling\";\n RoundingModeMap[RoundingModeMap[\"ceil\"] = BigNumber.ROUND_CEIL] = \"ceil\";\n RoundingModeMap[RoundingModeMap[\"floor\"] = BigNumber.ROUND_FLOOR] = \"floor\";\n})(RoundingModeMap || (RoundingModeMap = {}));\n\nexport function expandRoundMode(roundMode) {\n var _a;\n\n return (_a = RoundingModeMap[roundMode]) !== null && _a !== void 0 ? _a : RoundingModeMap[\"default\"];\n}","import BigNumber from \"bignumber.js\";\nimport { expandRoundMode } from \"./expandRoundMode\";\n\nfunction digitCount(numeric) {\n if (numeric.isZero()) {\n return 1;\n }\n\n return Math.floor(Math.log10(numeric.abs().toNumber()) + 1);\n}\n\nfunction getAbsolutePrecision(numeric, _ref) {\n var precision = _ref.precision,\n significant = _ref.significant;\n\n if (significant && precision !== null && precision > 0) {\n return precision - digitCount(numeric);\n }\n\n return precision;\n}\n\nexport function roundNumber(numeric, options) {\n var precision = getAbsolutePrecision(numeric, options);\n\n if (precision === null) {\n return numeric.toString();\n }\n\n var roundMode = expandRoundMode(options.roundMode);\n\n if (precision >= 0) {\n return numeric.toFixed(precision, roundMode);\n }\n\n var rounder = Math.pow(10, Math.abs(precision));\n numeric = new BigNumber(numeric.div(rounder).toFixed(0, roundMode)).times(rounder);\n return numeric.toString();\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport BigNumber from \"bignumber.js\";\nimport repeat from \"lodash/repeat\";\nimport { roundNumber } from \"./roundNumber\";\n\nfunction replaceInFormat(format, _ref) {\n var formattedNumber = _ref.formattedNumber,\n unit = _ref.unit;\n return format.replace(\"%n\", formattedNumber).replace(\"%u\", unit);\n}\n\nfunction computeSignificand(_ref2) {\n var significand = _ref2.significand,\n whole = _ref2.whole,\n precision = _ref2.precision;\n\n if (whole === \"0\" || precision === null) {\n return significand;\n }\n\n var limit = Math.max(0, precision - whole.length);\n return (significand !== null && significand !== void 0 ? significand : \"\").substr(0, limit);\n}\n\nexport function formatNumber(input, options) {\n var _a, _b, _c;\n\n var originalNumber = new BigNumber(input);\n\n if (options.raise && !originalNumber.isFinite()) {\n throw new Error(\"\\\"\".concat(input, \"\\\" is not a valid numeric value\"));\n }\n\n var roundedNumber = roundNumber(originalNumber, options);\n var numeric = new BigNumber(roundedNumber);\n var isNegative = numeric.lt(0);\n var isZero = numeric.isZero();\n\n var _roundedNumber$split = roundedNumber.split(\".\"),\n _roundedNumber$split2 = _slicedToArray(_roundedNumber$split, 2),\n whole = _roundedNumber$split2[0],\n significand = _roundedNumber$split2[1];\n\n var buffer = [];\n var formattedNumber;\n var positiveFormat = (_a = options.format) !== null && _a !== void 0 ? _a : \"%n\";\n var negativeFormat = (_b = options.negativeFormat) !== null && _b !== void 0 ? _b : \"-\".concat(positiveFormat);\n var format = isNegative && !isZero ? negativeFormat : positiveFormat;\n whole = whole.replace(\"-\", \"\");\n\n while (whole.length > 0) {\n buffer.unshift(whole.substr(Math.max(0, whole.length - 3), 3));\n whole = whole.substr(0, whole.length - 3);\n }\n\n whole = buffer.join(\"\");\n formattedNumber = buffer.join(options.delimiter);\n\n if (options.significant) {\n significand = computeSignificand({\n whole: whole,\n significand: significand,\n precision: options.precision\n });\n } else {\n significand = significand !== null && significand !== void 0 ? significand : repeat(\"0\", (_c = options.precision) !== null && _c !== void 0 ? _c : 0);\n }\n\n if (options.stripInsignificantZeros && significand) {\n significand = significand.replace(/0+$/, \"\");\n }\n\n if (originalNumber.isNaN()) {\n formattedNumber = input.toString();\n }\n\n if (significand && originalNumber.isFinite()) {\n formattedNumber += (options.separator || \".\") + significand;\n }\n\n return replaceInFormat(format, {\n formattedNumber: formattedNumber,\n unit: options.unit\n });\n}","export function getFullScope(i18n, scope, options) {\n var result = \"\";\n\n if (scope instanceof String || typeof scope === \"string\") {\n result = scope;\n }\n\n if (scope instanceof Array) {\n result = scope.join(i18n.defaultSeparator);\n }\n\n if (options.scope) {\n result = [options.scope, result].join(i18n.defaultSeparator);\n }\n\n return result;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nexport function inferType(instance) {\n var _a, _b;\n\n if (instance === null) {\n return \"null\";\n }\n\n var type = _typeof(instance);\n\n if (type !== \"object\") {\n return type;\n }\n\n return ((_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || \"object\";\n}","import { isSet } from \"./isSet\";\nexport function interpolate(i18n, message, options) {\n options = Object.keys(options).reduce(function (buffer, key) {\n buffer[i18n.transformKey(key)] = options[key];\n return buffer;\n }, {});\n var matches = message.match(i18n.placeholder);\n\n if (!matches) {\n return message;\n }\n\n while (matches.length) {\n var value = void 0;\n var placeholder = matches.shift();\n var name = placeholder.replace(i18n.placeholder, \"$1\");\n\n if (isSet(options[name])) {\n value = options[name].toString().replace(/\\$/gm, \"_#$#_\");\n } else if (name in options) {\n value = i18n.nullPlaceholder(i18n, placeholder, message, options);\n } else {\n value = i18n.missingPlaceholder(i18n, placeholder, message, options);\n }\n\n var regex = new RegExp(placeholder.replace(/\\{/gm, \"\\\\{\").replace(/\\}/gm, \"\\\\}\"));\n message = message.replace(regex, value);\n }\n\n return message.replace(/_#\\$#_/g, \"$\");\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { isSet } from \"./isSet\";\nimport { getFullScope } from \"./getFullScope\";\nimport { inferType } from \"./inferType\";\nexport function lookup(i18n, scope) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n options = Object.assign({}, options);\n var locale = \"locale\" in options ? options.locale : i18n.locale;\n var localeType = inferType(locale);\n var locales = i18n.locales.get(localeType === \"string\" ? locale : _typeof(locale)).slice();\n var keys = getFullScope(i18n, scope, options).split(i18n.defaultSeparator).map(function (component) {\n return i18n.transformKey(component);\n });\n var entries = locales.map(function (locale) {\n return keys.reduce(function (path, key) {\n return path && path[key];\n }, i18n.translations[locale]);\n });\n entries.push(options.defaultValue);\n return entries.find(function (entry) {\n return isSet(entry);\n });\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport BigNumber from \"bignumber.js\";\nexport function numberToDelimited(input, options) {\n var numeric = new BigNumber(input);\n\n if (!numeric.isFinite()) {\n return input.toString();\n }\n\n if (!options.delimiterPattern.global) {\n throw new Error(\"options.delimiterPattern must be a global regular expression; received \".concat(options.delimiterPattern));\n }\n\n var _numeric$toString$spl = numeric.toString().split(\".\"),\n _numeric$toString$spl2 = _slicedToArray(_numeric$toString$spl, 2),\n left = _numeric$toString$spl2[0],\n right = _numeric$toString$spl2[1];\n\n left = left.replace(options.delimiterPattern, function (digitToDelimiter) {\n return \"\".concat(digitToDelimiter).concat(options.delimiter);\n });\n return [left, right].filter(Boolean).join(options.separator);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport BigNumber from \"bignumber.js\";\nimport sortBy from \"lodash/sortBy\";\nimport zipObject from \"lodash/zipObject\";\nimport { getFullScope } from \"./getFullScope\";\nimport { lookup } from \"./lookup\";\nimport { roundNumber } from \"./roundNumber\";\nimport { inferType } from \"./inferType\";\nvar DECIMAL_UNITS = {\n \"0\": \"unit\",\n \"1\": \"ten\",\n \"2\": \"hundred\",\n \"3\": \"thousand\",\n \"6\": \"million\",\n \"9\": \"billion\",\n \"12\": \"trillion\",\n \"15\": \"quadrillion\",\n \"-1\": \"deci\",\n \"-2\": \"centi\",\n \"-3\": \"mili\",\n \"-6\": \"micro\",\n \"-9\": \"nano\",\n \"-12\": \"pico\",\n \"-15\": \"femto\"\n};\nvar INVERTED_DECIMAL_UNITS = zipObject(Object.values(DECIMAL_UNITS), Object.keys(DECIMAL_UNITS).map(function (key) {\n return parseInt(key, 10);\n}));\nexport function numberToHuman(i18n, input, options) {\n var roundOptions = {\n roundMode: options.roundMode,\n precision: options.precision,\n significant: options.significant\n };\n var units;\n\n if (inferType(options.units) === \"string\") {\n var scope = options.units;\n units = lookup(i18n, scope);\n\n if (!units) {\n throw new Error(\"The scope \\\"\".concat(i18n.locale).concat(i18n.defaultSeparator).concat(getFullScope(i18n, scope, {}), \"\\\" couldn't be found\"));\n }\n } else {\n units = options.units;\n }\n\n var formattedNumber = roundNumber(new BigNumber(input), roundOptions);\n\n var unitExponents = function unitExponents(units) {\n return sortBy(Object.keys(units).map(function (name) {\n return INVERTED_DECIMAL_UNITS[name];\n }), function (numeric) {\n return numeric * -1;\n });\n };\n\n var calculateExponent = function calculateExponent(num, units) {\n var exponent = num.isZero() ? 0 : Math.floor(Math.log10(num.abs().toNumber()));\n return unitExponents(units).find(function (exp) {\n return exponent >= exp;\n }) || 0;\n };\n\n var determineUnit = function determineUnit(units, exponent) {\n var expName = DECIMAL_UNITS[exponent.toString()];\n return units[expName] || \"\";\n };\n\n var exponent = calculateExponent(new BigNumber(formattedNumber), units);\n var unit = determineUnit(units, exponent);\n formattedNumber = roundNumber(new BigNumber(formattedNumber).div(Math.pow(10, exponent)), roundOptions);\n\n if (options.stripInsignificantZeros) {\n var _formattedNumber$spli = formattedNumber.split(\".\"),\n _formattedNumber$spli2 = _slicedToArray(_formattedNumber$spli, 2),\n whole = _formattedNumber$spli2[0],\n significand = _formattedNumber$spli2[1];\n\n significand = (significand || \"\").replace(/0+$/, \"\");\n formattedNumber = whole;\n\n if (significand) {\n formattedNumber += \"\".concat(options.separator).concat(significand);\n }\n }\n\n return options.format.replace(\"%n\", formattedNumber || \"0\").replace(\"%u\", unit).trim();\n}","import BigNumber from \"bignumber.js\";\nimport { roundNumber } from \"./roundNumber\";\nimport { expandRoundMode } from \"./expandRoundMode\";\nvar STORAGE_UNITS = [\"byte\", \"kb\", \"mb\", \"gb\", \"tb\", \"pb\", \"eb\"];\nexport function numberToHumanSize(i18n, input, options) {\n var roundMode = expandRoundMode(options.roundMode);\n var base = 1024;\n var num = new BigNumber(input).abs();\n var smallerThanBase = num.lt(base);\n var numberToBeFormatted;\n\n var computeExponent = function computeExponent(numeric, units) {\n var max = units.length - 1;\n var exp = new BigNumber(Math.log(numeric.toNumber())).div(Math.log(base)).integerValue(BigNumber.ROUND_DOWN).toNumber();\n return Math.min(max, exp);\n };\n\n var storageUnitKey = function storageUnitKey(units) {\n var keyEnd = smallerThanBase ? \"byte\" : units[exponent];\n return \"number.human.storage_units.units.\".concat(keyEnd);\n };\n\n var exponent = computeExponent(num, STORAGE_UNITS);\n\n if (smallerThanBase) {\n numberToBeFormatted = num.integerValue();\n } else {\n numberToBeFormatted = new BigNumber(roundNumber(num.div(Math.pow(base, exponent)), {\n significant: options.significant,\n precision: options.precision,\n roundMode: options.roundMode\n }));\n }\n\n var format = i18n.translate(\"number.human.storage_units.format\", {\n defaultValue: \"%n %u\"\n });\n var unit = i18n.translate(storageUnitKey(STORAGE_UNITS), {\n count: num.integerValue().toNumber()\n });\n var formattedNumber = numberToBeFormatted.toFixed(options.precision, roundMode);\n\n if (options.stripInsignificantZeros) {\n formattedNumber = formattedNumber.replace(/(\\..*?)0+$/, \"$1\").replace(/\\.$/, \"\");\n }\n\n return format.replace(\"%n\", formattedNumber).replace(\"%u\", unit);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nexport function parseDate(input) {\n if (input instanceof Date) {\n return input;\n }\n\n if (typeof input === \"number\") {\n var _date = new Date();\n\n _date.setTime(input);\n\n return _date;\n }\n\n var matches = new String(input).match(/(\\d{4})-(\\d{2})-(\\d{2})(?:[ T](\\d{2}):(\\d{2}):(\\d{2})(?:[.,](\\d{1,3}))?)?(Z|\\+00:?00)?/);\n\n if (matches) {\n var parts = matches.slice(1, 8).map(function (match) {\n return parseInt(match, 10) || 0;\n });\n parts[1] -= 1;\n\n var _parts = _slicedToArray(parts, 7),\n year = _parts[0],\n month = _parts[1],\n day = _parts[2],\n hour = _parts[3],\n minute = _parts[4],\n second = _parts[5],\n milliseconds = _parts[6];\n\n var timezone = matches[8];\n\n if (timezone) {\n return new Date(Date.UTC(year, month, day, hour, minute, second, milliseconds));\n } else {\n return new Date(year, month, day, hour, minute, second, milliseconds);\n }\n }\n\n if (input.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\\d+) (\\d+:\\d+:\\d+) ([+-]\\d+) (\\d+)/)) {\n var _date2 = new Date();\n\n _date2.setTime(Date.parse([RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$6, RegExp.$4, RegExp.$5].join(\" \")));\n }\n\n var date = new Date();\n date.setTime(Date.parse(input));\n return date;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { isSet } from \"./isSet\";\nimport { lookup } from \"./lookup\";\nexport function pluralize(_ref) {\n var i18n = _ref.i18n,\n count = _ref.count,\n scope = _ref.scope,\n options = _ref.options,\n baseScope = _ref.baseScope;\n options = Object.assign({}, options);\n var translations;\n var message;\n\n if (_typeof(scope) === \"object\" && scope) {\n translations = scope;\n } else {\n translations = lookup(i18n, scope, options);\n }\n\n if (!translations) {\n return i18n.missingTranslation.get(scope, options);\n }\n\n var pluralizer = i18n.pluralization.get(options.locale);\n var keys = pluralizer(i18n, count);\n var missingKeys = [];\n\n while (keys.length) {\n var key = keys.shift();\n\n if (isSet(translations[key])) {\n message = translations[key];\n break;\n }\n\n missingKeys.push(key);\n }\n\n if (!isSet(message)) {\n return i18n.missingTranslation.get(baseScope.split(i18n.defaultSeparator).concat([missingKeys[0]]), options);\n }\n\n options.count = count;\n return i18n.interpolate(i18n, message, options);\n}","var DEFAULT_OPTIONS = {\n meridian: {\n am: \"AM\",\n pm: \"PM\"\n },\n dayNames: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n abbrDayNames: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n monthNames: [null, \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n abbrMonthNames: [null, \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n};\nexport function strftime(date, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var _Object$assign = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options),\n abbrDayNames = _Object$assign.abbrDayNames,\n dayNames = _Object$assign.dayNames,\n abbrMonthNames = _Object$assign.abbrMonthNames,\n monthNames = _Object$assign.monthNames,\n AM_PM = _Object$assign.meridian;\n\n if (isNaN(date.getTime())) {\n throw new Error(\"strftime() requires a valid date object, but received an invalid date.\");\n }\n\n var weekDay = date.getDay();\n var day = date.getDate();\n var year = date.getFullYear();\n var month = date.getMonth() + 1;\n var hour = date.getHours();\n var hour12 = hour;\n var meridian = hour > 11 ? \"pm\" : \"am\";\n var secs = date.getSeconds();\n var mins = date.getMinutes();\n var offset = date.getTimezoneOffset();\n var absOffsetHours = Math.floor(Math.abs(offset / 60));\n var absOffsetMinutes = Math.abs(offset) - absOffsetHours * 60;\n var timezoneoffset = (offset > 0 ? \"-\" : \"+\") + (absOffsetHours.toString().length < 2 ? \"0\" + absOffsetHours : absOffsetHours) + (absOffsetMinutes.toString().length < 2 ? \"0\" + absOffsetMinutes : absOffsetMinutes);\n\n if (hour12 > 12) {\n hour12 = hour12 - 12;\n } else if (hour12 === 0) {\n hour12 = 12;\n }\n\n format = format.replace(\"%a\", abbrDayNames[weekDay]);\n format = format.replace(\"%A\", dayNames[weekDay]);\n format = format.replace(\"%b\", abbrMonthNames[month]);\n format = format.replace(\"%B\", monthNames[month]);\n format = format.replace(\"%d\", day.toString().padStart(2, \"0\"));\n format = format.replace(\"%e\", day.toString());\n format = format.replace(\"%-d\", day.toString());\n format = format.replace(\"%H\", hour.toString().padStart(2, \"0\"));\n format = format.replace(\"%-H\", hour.toString());\n format = format.replace(\"%k\", hour.toString());\n format = format.replace(\"%I\", hour12.toString().padStart(2, \"0\"));\n format = format.replace(\"%-I\", hour12.toString());\n format = format.replace(\"%l\", hour12.toString());\n format = format.replace(\"%m\", month.toString().padStart(2, \"0\"));\n format = format.replace(\"%-m\", month.toString());\n format = format.replace(\"%M\", mins.toString().padStart(2, \"0\"));\n format = format.replace(\"%-M\", mins.toString());\n format = format.replace(\"%p\", AM_PM[meridian]);\n format = format.replace(\"%P\", AM_PM[meridian].toLowerCase());\n format = format.replace(\"%S\", secs.toString().padStart(2, \"0\"));\n format = format.replace(\"%-S\", secs.toString());\n format = format.replace(\"%w\", weekDay.toString());\n format = format.replace(\"%y\", year.toString().padStart(2, \"0\").substr(-2));\n format = format.replace(\"%-y\", year.toString().padStart(2, \"0\").substr(-2).replace(/^0+/, \"\"));\n format = format.replace(\"%Y\", year.toString());\n format = format.replace(/%z/i, timezoneoffset);\n return format;\n}","import range from \"lodash/range\";\nimport { parseDate } from \"./parseDate\";\n\nvar within = function within(start, end, actual) {\n return actual >= start && actual <= end;\n};\n\nexport function timeAgoInWords(i18n, fromTime, toTime) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var scope = options.scope || \"datetime.distance_in_words\";\n\n var t = function t(name) {\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return i18n.t(name, {\n count: count,\n scope: scope\n });\n };\n\n fromTime = parseDate(fromTime);\n toTime = parseDate(toTime);\n var fromInSeconds = fromTime.getTime() / 1000;\n var toInSeconds = toTime.getTime() / 1000;\n\n if (fromInSeconds > toInSeconds) {\n var _ref = [toTime, fromTime, toInSeconds, fromInSeconds];\n fromTime = _ref[0];\n toTime = _ref[1];\n fromInSeconds = _ref[2];\n toInSeconds = _ref[3];\n }\n\n var distanceInSeconds = Math.round(toInSeconds - fromInSeconds);\n var distanceInMinutes = Math.round((toInSeconds - fromInSeconds) / 60);\n var distanceInHours = distanceInMinutes / 60;\n var distanceInDays = distanceInHours / 24;\n var distanceInHoursRounded = Math.round(distanceInMinutes / 60);\n var distanceInDaysRounded = Math.round(distanceInDays);\n var distanceInMonthsRounded = Math.round(distanceInDaysRounded / 30);\n\n if (within(0, 1, distanceInMinutes)) {\n if (!options.includeSeconds) {\n return distanceInMinutes === 0 ? t(\"less_than_x_minutes\", 1) : t(\"x_minutes\", distanceInMinutes);\n }\n\n if (within(0, 4, distanceInSeconds)) {\n return t(\"less_than_x_seconds\", 5);\n }\n\n if (within(5, 9, distanceInSeconds)) {\n return t(\"less_than_x_seconds\", 10);\n }\n\n if (within(10, 19, distanceInSeconds)) {\n return t(\"less_than_x_seconds\", 20);\n }\n\n if (within(20, 39, distanceInSeconds)) {\n return t(\"half_a_minute\");\n }\n\n if (within(40, 59, distanceInSeconds)) {\n return t(\"less_than_x_minutes\", 1);\n }\n\n return t(\"x_minutes\", 1);\n }\n\n if (within(2, 44, distanceInMinutes)) {\n return t(\"x_minutes\", distanceInMinutes);\n }\n\n if (within(45, 89, distanceInMinutes)) {\n return t(\"about_x_hours\", 1);\n }\n\n if (within(90, 1439, distanceInMinutes)) {\n return t(\"about_x_hours\", distanceInHoursRounded);\n }\n\n if (within(1440, 2519, distanceInMinutes)) {\n return t(\"x_days\", 1);\n }\n\n if (within(2520, 43199, distanceInMinutes)) {\n return t(\"x_days\", distanceInDaysRounded);\n }\n\n if (within(43200, 86399, distanceInMinutes)) {\n return t(\"about_x_months\", Math.round(distanceInMinutes / 43200));\n }\n\n if (within(86400, 525599, distanceInMinutes)) {\n return t(\"x_months\", distanceInMonthsRounded);\n }\n\n var fromYear = fromTime.getFullYear();\n\n if (fromTime.getMonth() + 1 >= 3) {\n fromYear += 1;\n }\n\n var toYear = toTime.getFullYear();\n\n if (toTime.getMonth() + 1 < 3) {\n toYear -= 1;\n }\n\n var leapYears = fromYear > toYear ? 0 : range(fromYear, toYear).filter(function (year) {\n return new Date(year, 1, 29).getMonth() == 1;\n }).length;\n var minutesInYear = 525600;\n var minuteOffsetForLeapYear = leapYears * 1440;\n var minutesWithOffset = distanceInMinutes - minuteOffsetForLeapYear;\n var distanceInYears = Math.trunc(minutesWithOffset / minutesInYear);\n var diff = parseFloat((minutesWithOffset / minutesInYear - distanceInYears).toPrecision(3));\n\n if (diff < 0.25) {\n return t(\"about_x_years\", distanceInYears);\n }\n\n if (diff < 0.75) {\n return t(\"over_x_years\", distanceInYears);\n }\n\n return t(\"almost_x_years\", distanceInYears + 1);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { getFullScope, inferType } from \"./helpers\";\nexport var guessStrategy = function guessStrategy(i18n, scope) {\n if (scope instanceof Array) {\n scope = scope.join(i18n.defaultSeparator);\n }\n\n var message = scope.split(i18n.defaultSeparator).slice(-1)[0];\n return i18n.missingTranslationPrefix + message.replace(\"_\", \" \").replace(/([a-z])([A-Z])/g, function (_match, p1, p2) {\n return \"\".concat(p1, \" \").concat(p2.toLowerCase());\n });\n};\nexport var messageStrategy = function messageStrategy(i18n, scope, options) {\n var fullScope = getFullScope(i18n, scope, options);\n var locale = \"locale\" in options ? options.locale : i18n.locale;\n var localeType = inferType(locale);\n var fullScopeWithLocale = [localeType == \"string\" ? locale : localeType, fullScope].join(i18n.defaultSeparator);\n return \"[missing \\\"\".concat(fullScopeWithLocale, \"\\\" translation]\");\n};\nexport var errorStrategy = function errorStrategy(i18n, scope, options) {\n var fullScope = getFullScope(i18n, scope, options);\n var fullScopeWithLocale = [i18n.locale, fullScope].join(i18n.defaultSeparator);\n throw new Error(\"Missing translation: \".concat(fullScopeWithLocale));\n};\nexport var MissingTranslation = /*#__PURE__*/function () {\n function MissingTranslation(i18n) {\n _classCallCheck(this, MissingTranslation);\n\n this.i18n = i18n;\n this.registry = {};\n this.register(\"guess\", guessStrategy);\n this.register(\"message\", messageStrategy);\n this.register(\"error\", errorStrategy);\n }\n\n _createClass(MissingTranslation, [{\n key: \"register\",\n value: function register(name, strategy) {\n this.registry[name] = strategy;\n }\n }, {\n key: \"get\",\n value: function get(scope, options) {\n var _a;\n\n return this.registry[(_a = options.missingBehavior) !== null && _a !== void 0 ? _a : this.i18n.missingBehavior](this.i18n, scope, options);\n }\n }]);\n\n return MissingTranslation;\n}();","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nimport get from \"lodash/get\";\nimport has from \"lodash/has\";\nimport merge from \"lodash/merge\";\nimport { Locales } from \"./Locales\";\nimport { Pluralization } from \"./Pluralization\";\nimport { MissingTranslation } from \"./MissingTranslation\";\nimport { camelCaseKeys, createTranslationOptions, formatNumber as _formatNumber, getFullScope, inferType, interpolate, isSet, lookup, numberToDelimited as _numberToDelimited, numberToHuman as _numberToHuman, numberToHumanSize as _numberToHumanSize, parseDate, pluralize as _pluralize, strftime as _strftime, timeAgoInWords as _timeAgoInWords } from \"./helpers\";\nvar DEFAULT_I18N_OPTIONS = {\n defaultLocale: \"en\",\n availableLocales: [\"en\"],\n locale: \"en\",\n defaultSeparator: \".\",\n placeholder: /(?:\\{\\{|%\\{)(.*?)(?:\\}\\}?)/gm,\n enableFallback: false,\n missingBehavior: \"message\",\n missingTranslationPrefix: \"\",\n missingPlaceholder: function missingPlaceholder(_i18n, placeholder) {\n return \"[missing \\\"\".concat(placeholder, \"\\\" value]\");\n },\n nullPlaceholder: function nullPlaceholder(i18n, placeholder, message, options) {\n return i18n.missingPlaceholder(i18n, placeholder, message, options);\n },\n transformKey: function transformKey(key) {\n return key;\n }\n};\nexport var I18n = /*#__PURE__*/function () {\n function I18n() {\n var translations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, I18n);\n\n this._locale = DEFAULT_I18N_OPTIONS.locale;\n this._defaultLocale = DEFAULT_I18N_OPTIONS.defaultLocale;\n this._version = 0;\n this.onChangeHandlers = [];\n this.translations = {};\n this.availableLocales = [];\n this.t = this.translate;\n this.p = this.pluralize;\n this.l = this.localize;\n this.distanceOfTimeInWords = this.timeAgoInWords;\n\n var _Object$assign = Object.assign(Object.assign({}, DEFAULT_I18N_OPTIONS), options),\n locale = _Object$assign.locale,\n enableFallback = _Object$assign.enableFallback,\n missingBehavior = _Object$assign.missingBehavior,\n missingTranslationPrefix = _Object$assign.missingTranslationPrefix,\n missingPlaceholder = _Object$assign.missingPlaceholder,\n nullPlaceholder = _Object$assign.nullPlaceholder,\n defaultLocale = _Object$assign.defaultLocale,\n defaultSeparator = _Object$assign.defaultSeparator,\n placeholder = _Object$assign.placeholder,\n transformKey = _Object$assign.transformKey;\n\n this.locale = locale;\n this.defaultLocale = defaultLocale;\n this.defaultSeparator = defaultSeparator;\n this.enableFallback = enableFallback;\n this.locale = locale;\n this.missingBehavior = missingBehavior;\n this.missingTranslationPrefix = missingTranslationPrefix;\n this.missingPlaceholder = missingPlaceholder;\n this.nullPlaceholder = nullPlaceholder;\n this.placeholder = placeholder;\n this.pluralization = new Pluralization(this);\n this.locales = new Locales(this);\n this.missingTranslation = new MissingTranslation(this);\n this.transformKey = transformKey;\n this.interpolate = interpolate;\n this.store(translations);\n }\n\n _createClass(I18n, [{\n key: \"store\",\n value: function store(translations) {\n merge(this.translations, translations);\n this.hasChanged();\n }\n }, {\n key: \"translate\",\n value: function translate(scope, options) {\n var _this = this;\n\n options = Object.assign({}, options);\n var translationOptions = createTranslationOptions(this, scope, options);\n var translation;\n var hasFoundTranslation = translationOptions.some(function (translationOption) {\n if (isSet(translationOption.scope)) {\n translation = lookup(_this, translationOption.scope, options);\n } else if (isSet(translationOption.message)) {\n translation = translationOption.message;\n }\n\n return translation !== undefined && translation !== null;\n });\n\n if (!hasFoundTranslation) {\n return this.missingTranslation.get(scope, options);\n }\n\n if (typeof translation === \"string\") {\n translation = this.interpolate(this, translation, options);\n } else if (_typeof(translation) === \"object\" && translation && isSet(options.count)) {\n translation = _pluralize({\n i18n: this,\n count: options.count || 0,\n scope: translation,\n options: options,\n baseScope: getFullScope(this, scope, options)\n });\n }\n\n if (options && translation instanceof Array) {\n translation = translation.map(function (entry) {\n return typeof entry === \"string\" ? interpolate(_this, entry, options) : entry;\n });\n }\n\n return translation;\n }\n }, {\n key: \"pluralize\",\n value: function pluralize(count, scope, options) {\n return _pluralize({\n i18n: this,\n count: count,\n scope: scope,\n options: Object.assign({}, options),\n baseScope: getFullScope(this, scope, options !== null && options !== void 0 ? options : {})\n });\n }\n }, {\n key: \"localize\",\n value: function localize(type, value, options) {\n options = Object.assign({}, options);\n\n if (value === undefined || value === null) {\n return \"\";\n }\n\n switch (type) {\n case \"currency\":\n return this.numberToCurrency(value);\n\n case \"number\":\n return _formatNumber(value, Object.assign({\n delimiter: \",\",\n precision: 3,\n separator: \".\",\n significant: false,\n stripInsignificantZeros: false\n }, lookup(this, \"number.format\")));\n\n case \"percentage\":\n return this.numberToPercentage(value);\n\n default:\n {\n var localizedValue;\n\n if (type.match(/^(date|time)/)) {\n localizedValue = this.toTime(type, value);\n } else {\n localizedValue = value.toString();\n }\n\n return interpolate(this, localizedValue, options);\n }\n }\n }\n }, {\n key: \"toTime\",\n value: function toTime(scope, input) {\n var date = parseDate(input);\n var format = lookup(this, scope);\n\n if (date.toString().match(/invalid/i)) {\n return date.toString();\n }\n\n if (!format) {\n return date.toString();\n }\n\n return this.strftime(date, format);\n }\n }, {\n key: \"numberToCurrency\",\n value: function numberToCurrency(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _formatNumber(input, Object.assign(Object.assign(Object.assign({\n delimiter: \",\",\n format: \"%u%n\",\n precision: 2,\n separator: \".\",\n significant: false,\n stripInsignificantZeros: false,\n unit: \"$\"\n }, camelCaseKeys(this.get(\"number.format\"))), camelCaseKeys(this.get(\"number.currency.format\"))), options));\n }\n }, {\n key: \"numberToPercentage\",\n value: function numberToPercentage(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _formatNumber(input, Object.assign(Object.assign(Object.assign({\n delimiter: \"\",\n format: \"%n%\",\n precision: 3,\n stripInsignificantZeros: false,\n separator: \".\",\n significant: false\n }, camelCaseKeys(this.get(\"number.format\"))), camelCaseKeys(this.get(\"number.percentage.format\"))), options));\n }\n }, {\n key: \"numberToHumanSize\",\n value: function numberToHumanSize(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _numberToHumanSize(this, input, Object.assign(Object.assign(Object.assign({\n delimiter: \"\",\n precision: 3,\n significant: true,\n stripInsignificantZeros: true,\n units: {\n billion: \"Billion\",\n million: \"Million\",\n quadrillion: \"Quadrillion\",\n thousand: \"Thousand\",\n trillion: \"Trillion\",\n unit: \"\"\n }\n }, camelCaseKeys(this.get(\"number.human.format\"))), camelCaseKeys(this.get(\"number.human.storage_units\"))), options));\n }\n }, {\n key: \"numberToHuman\",\n value: function numberToHuman(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _numberToHuman(this, input, Object.assign(Object.assign(Object.assign({\n delimiter: \"\",\n separator: \".\",\n precision: 3,\n significant: true,\n stripInsignificantZeros: true,\n format: \"%n %u\",\n roundMode: \"default\",\n units: {\n billion: \"Billion\",\n million: \"Million\",\n quadrillion: \"Quadrillion\",\n thousand: \"Thousand\",\n trillion: \"Trillion\",\n unit: \"\"\n }\n }, camelCaseKeys(this.get(\"number.human.format\"))), camelCaseKeys(this.get(\"number.human.decimal_units\"))), options));\n }\n }, {\n key: \"numberToRounded\",\n value: function numberToRounded(input, options) {\n return _formatNumber(input, Object.assign({\n unit: \"\",\n precision: 3,\n significant: false,\n separator: \".\",\n delimiter: \"\",\n stripInsignificantZeros: false\n }, options));\n }\n }, {\n key: \"numberToDelimited\",\n value: function numberToDelimited(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _numberToDelimited(input, Object.assign({\n delimiterPattern: /(\\d)(?=(\\d\\d\\d)+(?!\\d))/g,\n delimiter: \",\",\n separator: \".\"\n }, options));\n }\n }, {\n key: \"withLocale\",\n value: function withLocale(locale, callback) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var originalLocale;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n originalLocale = this.locale;\n _context.prev = 1;\n this.locale = locale;\n _context.next = 5;\n return callback();\n\n case 5:\n _context.prev = 5;\n this.locale = originalLocale;\n return _context.finish(5);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1,, 5, 8]]);\n }));\n }\n }, {\n key: \"strftime\",\n value: function strftime(date, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _strftime(date, format, Object.assign(Object.assign(Object.assign({}, camelCaseKeys(lookup(this, \"date\"))), {\n meridian: {\n am: lookup(this, \"time.am\") || \"AM\",\n pm: lookup(this, \"time.pm\") || \"PM\"\n }\n }), options));\n }\n }, {\n key: \"update\",\n value: function update(path, override) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n strict: false\n };\n\n if (options.strict && !has(this.translations, path)) {\n throw new Error(\"The path \\\"\".concat(path, \"\\\" is not currently defined\"));\n }\n\n var currentNode = get(this.translations, path);\n var currentType = inferType(currentNode);\n var overrideType = inferType(override);\n\n if (options.strict && currentType !== overrideType) {\n throw new Error(\"The current type for \\\"\".concat(path, \"\\\" is \\\"\").concat(currentType, \"\\\", but you're trying to override it with \\\"\").concat(overrideType, \"\\\"\"));\n }\n\n var newNode;\n\n if (overrideType === \"object\") {\n newNode = Object.assign(Object.assign({}, currentNode), override);\n } else {\n newNode = override;\n }\n\n var components = path.split(this.defaultSeparator);\n var prop = components.pop();\n var buffer = this.translations;\n\n var _iterator = _createForOfIteratorHelper(components),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var component = _step.value;\n\n if (!buffer[component]) {\n buffer[component] = {};\n }\n\n buffer = buffer[component];\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n buffer[prop] = newNode;\n this.hasChanged();\n }\n }, {\n key: \"toSentence\",\n value: function toSentence(items) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign2 = Object.assign(Object.assign({\n wordsConnector: \", \",\n twoWordsConnector: \" and \",\n lastWordConnector: \", and \"\n }, camelCaseKeys(lookup(this, \"support.array\"))), options),\n wordsConnector = _Object$assign2.wordsConnector,\n twoWordsConnector = _Object$assign2.twoWordsConnector,\n lastWordConnector = _Object$assign2.lastWordConnector;\n\n var size = items.length;\n\n switch (size) {\n case 0:\n return \"\";\n\n case 1:\n return \"\".concat(items[0]);\n\n case 2:\n return items.join(twoWordsConnector);\n\n default:\n return [items.slice(0, size - 1).join(wordsConnector), lastWordConnector, items[size - 1]].join(\"\");\n }\n }\n }, {\n key: \"timeAgoInWords\",\n value: function timeAgoInWords(fromTime, toTime) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _timeAgoInWords(this, fromTime, toTime, options);\n }\n }, {\n key: \"onChange\",\n value: function onChange(callback) {\n var _this2 = this;\n\n this.onChangeHandlers.push(callback);\n return function () {\n _this2.onChangeHandlers.splice(_this2.onChangeHandlers.indexOf(callback), 1);\n };\n }\n }, {\n key: \"formatNumber\",\n value: function formatNumber(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options = Object.assign(Object.assign({\n delimiter: \",\",\n precision: 3,\n separator: \".\",\n unit: \"\",\n format: \"%u%n\",\n significant: false,\n stripInsignificantZeros: false\n }, camelCaseKeys(this.get(\"number.format\"))), options);\n return _formatNumber(input, options);\n }\n }, {\n key: \"get\",\n value: function get(scope) {\n return lookup(this, scope);\n }\n }, {\n key: \"runCallbacks\",\n value: function runCallbacks() {\n var _this3 = this;\n\n this.onChangeHandlers.forEach(function (callback) {\n return callback(_this3);\n });\n }\n }, {\n key: \"hasChanged\",\n value: function hasChanged() {\n this._version += 1;\n this.runCallbacks();\n }\n }, {\n key: \"locale\",\n get: function get() {\n return this._locale || this.defaultLocale || \"en\";\n },\n set: function set(newLocale) {\n if (typeof newLocale !== \"string\") {\n throw new Error(\"Expected newLocale to be a string; got \".concat(inferType(newLocale)));\n }\n\n var changed = this._locale !== newLocale;\n this._locale = newLocale;\n\n if (changed) {\n this.hasChanged();\n }\n }\n }, {\n key: \"defaultLocale\",\n get: function get() {\n return this._defaultLocale || \"en\";\n },\n set: function set(newLocale) {\n if (typeof newLocale !== \"string\") {\n throw new Error(\"Expected newLocale to be a string; got \".concat(inferType(newLocale)));\n }\n\n var changed = this._defaultLocale !== newLocale;\n this._defaultLocale = newLocale;\n\n if (changed) {\n this.hasChanged();\n }\n }\n }, {\n key: \"version\",\n get: function get() {\n return this._version;\n }\n }]);\n\n return I18n;\n}();","import { I18n as I18n_ } from 'i18n-js';\nimport ja from './generate/ja';\n\nexport const I18n = new I18n_(ja, {\n locale: 'ja',\n defaultLocale: 'ja',\n availableLocales: ['ja'],\n enableFallback: true,\n});\n","import { isSet } from \"./isSet\";\nexport function createTranslationOptions(i18n, scope, options) {\n var translationOptions = [{\n scope: scope\n }];\n\n if (isSet(options.defaults)) {\n translationOptions = translationOptions.concat(options.defaults);\n }\n\n if (isSet(options.defaultValue)) {\n var message = typeof options.defaultValue === \"function\" ? options.defaultValue(i18n, scope, options) : options.defaultValue;\n translationOptions.push({\n message: message\n });\n delete options.defaultValue;\n }\n\n return translationOptions;\n}","/* eslint-disable */\n// File generated by i18n-js on 2024-10-30 23:05:58 +0900\n\nexport default {\n \"ja\": {\n \"activemodel\": {\n \"attributes\": {\n \"session\": {\n \"password\": \"パスワード\",\n \"unique_id\": \"企業ID\",\n \"unique_name\": \"ユーザID\"\n },\n \"user_setting/components\": {\n \"cascader\": \"階層式\",\n \"select\": \"標準\"\n },\n \"user_setting/search_matches\": {\n \"any\": \"部分一致\",\n \"start\": \"前方一致\"\n }\n }\n },\n \"activerecord\": {\n \"attributes\": {\n \"arigatona\": {\n \"checked\": \"確認\",\n \"comment\": \"コメント\",\n \"daily_report\": \"activerecord.models.daily_report\",\n \"user\": \"activerecord.models.user\"\n },\n \"category\": {\n \"client\": \"activerecord.models.client\",\n \"description\": \"説明文\",\n \"name\": \"カテゴリ名\",\n \"users\": \"activerecord.models.user\",\n \"work_contents\": \"activerecord.models.work_content\"\n },\n \"client\": {\n \"active\": \"有効(現在はユーザに影響しない)\",\n \"arigato_hidden\": \"ありがとう関連を非表示にする\",\n \"categories\": \"activerecord.models.category\",\n \"departments\": \"activerecord.models.department\",\n \"dr_view_type\": \"日報提出画面の種類\",\n \"email\": \"メールアドレス\",\n \"memo_hidden\": \"連絡事項関連を非表示にする\",\n \"name\": \"クライアント名\",\n \"notify_enabled\": \"通知曜日\",\n \"notify_friday_enabled\": \"金\",\n \"notify_monday_enabled\": \"月\",\n \"notify_saturday_enabled\": \"土\",\n \"notify_sunday_enabled\": \"日\",\n \"notify_thursday_enabled\": \"木\",\n \"notify_tuesday_enabled\": \"火\",\n \"notify_wednesday_enabled\": \"水\",\n \"polling_at\": \"通知時間\",\n \"type_c_enable\": \"中央物産向けカスタムフォームの選択肢を表示\",\n \"type_d_enable\": \"ストップウォッチ形式+α のカスタムフォーム選択肢を表示\",\n \"unique_id\": \"企業ID\",\n \"users\": \"activerecord.models.user\",\n \"users_length\": \"ユーザ数\",\n \"users_limit\": \"最大ユーザ数\",\n \"work_contents\": \"activerecord.models.work_content\",\n \"work_details\": \"activerecord.models.work_detail\",\n \"work_properties\": \"activerecord.models.work_property\"\n },\n \"client/dr_view_type\": {\n \"typeA\": \"標準\",\n \"typeB\": \"簡易\",\n \"typeC\": \"カスタムフォーム1\",\n \"typeD\": \"ストップウォッチ形式 +α\"\n },\n \"daily_report\": {\n \"arigatona\": \"activerecord.models.arigatona\",\n \"date\": \"日付\",\n \"memo\": \"メモ\",\n \"user\": \"activerecord.models.user\",\n \"works\": \"activerecord.models.work\"\n },\n \"department\": {\n \"client\": \"activerecord.models.client\",\n \"name\": \"部署名\",\n \"users\": \"activerecord.models.user\"\n },\n \"dr_timespan\": {\n \"client\": \"activerecord.models.client\",\n \"end_at\": \"終了時刻\",\n \"include_rest\": \"休憩込み\",\n \"name\": \"表示名\",\n \"sort\": \"並び順\",\n \"start_at\": \"開始時刻\"\n },\n \"user\": {\n \"active\": \"状態\",\n \"arigatonas\": \"activerecord.models.arigatona\",\n \"categories\": \"activerecord.models.category\",\n \"client\": \"activerecord.models.client\",\n \"daily_reports\": \"activerecord.models.daily_report\",\n \"department\": \"activerecord.models.department\",\n \"department_id\": \"activerecord.models.department\",\n \"name\": \"ユーザ名\",\n \"notify_notsubmit_enabled\": \"日報未提出通知\",\n \"password\": \"パスワード\",\n \"password_confirmation\": \"パスワード(確認)\",\n \"password_digest\": \"パスワードダイジェスト\",\n \"role\": \"役割\",\n \"unique_name\": \"ユーザID\",\n \"user_length\": \"ユーザ数\"\n },\n \"user/active\": {\n \"false\": \"無効\",\n \"true\": \"有効\"\n },\n \"user/role\": {\n \"client_admin\": \"管理者\",\n \"client_general\": \"一般\",\n \"client_share_device\": \"共有デバイス\",\n \"system_admin\": \"システム管理者\"\n },\n \"work\": {\n \"daily_report\": \"activerecord.models.daily_report\",\n \"end_at\": \"終了時刻\",\n \"include_rest\": \"休憩込み\",\n \"start_at\": \"開始時刻\",\n \"work_content\": \"activerecord.models.work_content\",\n \"work_detail\": \"activerecord.models.work_detail\",\n \"work_detail_amount\": \"数量\",\n \"work_property\": \"activerecord.models.work_property\"\n },\n \"work_content\": {\n \"active\": \"日報に表示\",\n \"categories\": \"activerecord.models.category\",\n \"client\": \"activerecord.models.client\",\n \"name\": \"作業名\",\n \"name_kana\": \"作業名カナ\",\n \"work\": \"日報\"\n },\n \"work_detail\": {\n \"active\": \"日報に表示\",\n \"client\": \"activerecord.models.client\",\n \"name\": \"詳細名\",\n \"name_kana\": \"詳細名カナ\",\n \"work\": \"案件\"\n },\n \"work_property\": {\n \"active\": \"日報に表示\",\n \"client\": \"activerecord.models.client\",\n \"code\": \"案件コード\",\n \"name\": \"案件名\",\n \"sort\": \"並び順\",\n \"work\": \"日報\"\n }\n },\n \"errors\": {\n \"messages\": {\n \"record_invalid\": \"バリデーションに失敗しました: %{errors}\",\n \"restrict_dependent_destroy\": {\n \"has_many\": \"%{record}が存在しているので削除できません\",\n \"has_one\": \"%{record}が存在しているので削除できません\"\n }\n },\n \"models\": {\n \"daily_report\": {\n \"attributes\": {\n \"date\": {\n \"format\": \"%{message}\",\n \"taken\": \"提出済みです。日付を確認してください\"\n },\n \"works\": {\n \"format\": \"%{message}\",\n \"too_short\": \"作業報告を入力してください\"\n }\n }\n }\n }\n },\n \"models\": {\n \"arigatona\": \"ありがとう\",\n \"category\": \"カテゴリ\",\n \"client\": \"クライアント\",\n \"daily_report\": \"日報\",\n \"department\": \"部署\",\n \"dr_timespan\": {\n \"one\": \"期間\",\n \"other\": \"期間一覧\"\n },\n \"user\": \"ユーザ\",\n \"work\": \"作業報告\",\n \"work_content\": \"作業内容\",\n \"work_detail\": \"作業詳細\",\n \"work_property\": \"案件\"\n }\n },\n \"attributes\": {\n \"created_at\": \"登録日時\",\n \"created_by_id\": \"登録者\",\n \"updated_at\": \"更新日時\"\n },\n \"categories\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"このカテゴリを削除します\"\n }\n }\n },\n \"client_admin\": {\n \"categories\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"カテゴリ更新\"\n },\n \"index\": {\n \"title\": \"カテゴリ一覧\"\n },\n \"new\": {\n \"title\": \"カテゴリ登録\"\n },\n \"users\": {\n \"edit\": {\n \"title\": \"%{name} / ユーザ一覧\"\n },\n \"index\": {\n \"title\": \"%{name} / ユーザ一覧\"\n }\n },\n \"work_contents\": {\n \"edit\": {\n \"title\": \"%{name} / 作業内容一覧\"\n },\n \"index\": {\n \"title\": \"%{name} / 作業内容一覧\"\n }\n }\n },\n \"configurations\": {\n \"dailyreport_configures_step1\": {\n \"edit\": {\n \"edit_selected_user\": \"選択中のユーザを編集\"\n }\n },\n \"dr_timespans\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"期間編集\"\n },\n \"index\": {\n \"sort_desc\": \"(昇順)\",\n \"title\": \"期間一覧\"\n },\n \"new\": {\n \"title\": \"期間登録\"\n }\n },\n \"edit\": {\n \"title\": \"通知設定\",\n \"view_type_sec\": {\n \"title\": \"日報提出画面設定\"\n }\n },\n \"index\": {\n \"title\": \"通知設定\"\n }\n },\n \"daily_report_confirm\": {\n \"index\": {\n \"date\": \"作業日\",\n \"title\": \"日報未提出チェック\"\n }\n },\n \"daily_report_users\": {\n \"index\": {\n \"title\": \"日報一覧\"\n },\n \"show\": {\n \"create\": \"代理提出\",\n \"title\": \"%{name}さんの日報一覧\"\n }\n },\n \"daily_reports\": {\n \"form\": {\n \"section_contact\": {\n \"title\": \"4. 連絡事項\"\n },\n \"section_date\": {\n \"title\": \"1. 作業日時\"\n },\n \"section_dr\": {\n \"title\": \"2. 報告内容を編集\"\n },\n \"section_thx\": {\n \"title\": \"3. ありがとうを送る\"\n },\n \"title\": \"%{name}さんの日報を修正する\"\n },\n \"show\": {\n \"section_contact\": {\n \"title\": \"3. 連絡事項\"\n },\n \"section_dr\": {\n \"title\": \"1. 報告された内容\"\n },\n \"section_thx\": {\n \"title\": \"2. 送った\\\"ありがとう\\\"\"\n },\n \"title\": \"%{name}さんの日報\"\n }\n },\n \"departments\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"部署編集\"\n },\n \"index\": {\n \"title\": \"部署一覧\"\n },\n \"new\": {\n \"title\": \"部署登録\"\n }\n },\n \"users\": {\n \"edit\": {\n \"section_delete\": \"ユーザ無効化\",\n \"title\": \"ユーザ編集\"\n },\n \"index\": {\n \"title\": \"ユーザ一覧\"\n },\n \"new\": {\n \"title\": \"ユーザ登録\"\n }\n },\n \"work_contents\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"作業編集\"\n },\n \"index\": {\n \"title\": \"作業一覧\"\n },\n \"new\": {\n \"title\": \"作業登録\"\n }\n },\n \"work_details\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"作業詳細編集\"\n },\n \"index\": {\n \"title\": \"作業詳細一覧\"\n },\n \"new\": {\n \"title\": \"作業詳細登録\"\n }\n },\n \"work_properties\": {\n \"edit\": {\n \"section_delete\": \"削除\",\n \"title\": \"案件編集\"\n },\n \"index\": {\n \"title\": \"案件一覧\"\n },\n \"new\": {\n \"title\": \"案件登録\"\n }\n }\n },\n \"configurations\": {\n \"shared\": {\n \"section\": {\n \"polling_at\": {\n \"not_supported\": \"時間変更は現在サポートしておりません\"\n }\n }\n }\n },\n \"daily_reports\": {\n \"daily_reports\": {\n \"index\": {\n \"title\": \"%{name}さんの日報\"\n },\n \"show\": {\n \"section_contact\": {\n \"title\": \"3. 連絡事項\"\n },\n \"section_dr\": {\n \"title\": \"1. 報告された内容\"\n },\n \"section_thx\": {\n \"title\": \"2. 送った\\\"ありがとう\\\"\"\n }\n }\n },\n \"form_edit\": {\n \"confirm\": {\n \"update\": \"更新しますか?\"\n },\n \"section_contact\": {\n \"title\": \"4. 連絡事項\"\n },\n \"section_date\": {\n \"title\": \"1. 作業日時\"\n },\n \"section_dr\": {\n \"title\": \"2. 報告内容を編集\"\n },\n \"section_thx\": {\n \"title\": \"3. ありがとうを送る\"\n }\n },\n \"shared\": {\n \"section\": {\n \"section_thx\": {\n \"to\": \"%{name}さんへ\"\n }\n }\n },\n \"show\": {\n \"section_contact\": {\n \"title\": \"3. 連絡事項\"\n },\n \"section_dr\": {\n \"title\": \"1. 報告された内容\"\n },\n \"section_thx\": {\n \"title\": \"2. 送った\\\"ありがとう\\\"\"\n }\n },\n \"users\": {\n \"index\": {\n \"no_department\": \"無所属\",\n \"section_title\": \"%{name} / ユーザ一覧\",\n \"title\": \"ユーザ一覧\"\n },\n \"new\": {\n \"no_department\": \"無所属\",\n \"section_title\": \"%{name} / ユーザ一覧\",\n \"title\": \"ユーザ一覧\"\n }\n }\n },\n \"date\": {\n \"abbr_day_names\": [\n \"日\",\n \"月\",\n \"火\",\n \"水\",\n \"木\",\n \"金\",\n \"土\"\n ],\n \"abbr_month_names\": [\n null,\n \"1月\",\n \"2月\",\n \"3月\",\n \"4月\",\n \"5月\",\n \"6月\",\n \"7月\",\n \"8月\",\n \"9月\",\n \"10月\",\n \"11月\",\n \"12月\"\n ],\n \"day_names\": [\n \"日曜日\",\n \"月曜日\",\n \"火曜日\",\n \"水曜日\",\n \"木曜日\",\n \"金曜日\",\n \"土曜日\"\n ],\n \"formats\": {\n \"dash\": \"%Y-%m-%d\",\n \"default\": \"%Y/%m/%d\",\n \"long\": \"%Y年%m月%d日(%a)\",\n \"short\": \"%m/%d\"\n },\n \"month_names\": [\n null,\n \"1月\",\n \"2月\",\n \"3月\",\n \"4月\",\n \"5月\",\n \"6月\",\n \"7月\",\n \"8月\",\n \"9月\",\n \"10月\",\n \"11月\",\n \"12月\"\n ],\n \"order\": [\n \"year\",\n \"month\",\n \"day\"\n ]\n },\n \"datetime\": {\n \"distance_in_words\": {\n \"about_x_hours\": {\n \"one\": \"約1時間\",\n \"other\": \"約%{count}時間\"\n },\n \"about_x_months\": {\n \"one\": \"約1ヶ月\",\n \"other\": \"約%{count}ヶ月\"\n },\n \"about_x_years\": {\n \"one\": \"約1年\",\n \"other\": \"約%{count}年\"\n },\n \"almost_x_years\": {\n \"one\": \"1年弱\",\n \"other\": \"%{count}年弱\"\n },\n \"half_a_minute\": \"30秒前後\",\n \"less_than_x_minutes\": {\n \"one\": \"1分以内\",\n \"other\": \"%{count}分未満\"\n },\n \"less_than_x_seconds\": {\n \"one\": \"1秒以内\",\n \"other\": \"%{count}秒未満\"\n },\n \"over_x_years\": {\n \"one\": \"1年以上\",\n \"other\": \"%{count}年以上\"\n },\n \"x_days\": {\n \"one\": \"1日\",\n \"other\": \"%{count}日\"\n },\n \"x_minutes\": {\n \"one\": \"1分\",\n \"other\": \"%{count}分\"\n },\n \"x_months\": {\n \"one\": \"1ヶ月\",\n \"other\": \"%{count}ヶ月\"\n },\n \"x_seconds\": {\n \"one\": \"1秒\",\n \"other\": \"%{count}秒\"\n },\n \"x_years\": {\n \"one\": \"1年\",\n \"other\": \"%{count}年\"\n }\n },\n \"prompts\": {\n \"day\": \"日\",\n \"hour\": \"時\",\n \"minute\": \"分\",\n \"month\": \"月\",\n \"second\": \"秒\",\n \"year\": \"年\"\n }\n },\n \"departments\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"この部署を削除します\"\n }\n }\n },\n \"dr_timespan\": {\n \"false\": \"なし\",\n \"true\": \"込\"\n },\n \"dr_timespans\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"この期間を削除します(日報は消えません)\"\n }\n }\n },\n \"errors\": {\n \"access_denied\": {\n \"go back home\": \"ホームへ戻る\",\n \"hero\": \"権限がありません(403)\",\n \"message\": \"アクセスするには、適切な権限が必要です。\",\n \"title\": \"権限がありません\"\n },\n \"format\": \"%{attribute}%{message}\",\n \"internal_server_error\": {\n \"go back home\": \"ホームへ戻る\",\n \"hero\": \"深刻な問題が発生しました(500)\",\n \"message\": \"再度試して頂いて、問題が解決しないようでしたらご連絡ください。\",\n \"title\": \"サーバ内部でエラーが発生しています\"\n },\n \"messages\": {\n \"accepted\": \"を受諾してください\",\n \"blank\": \"を入力してください\",\n \"confirmation\": \"と%{attribute}の入力が一致しません\",\n \"empty\": \"を入力してください\",\n \"equal_to\": \"は%{count}にしてください\",\n \"even\": \"は偶数にしてください\",\n \"exclusion\": \"は予約されています\",\n \"greater_than\": \"は%{count}より大きい値にしてください\",\n \"greater_than_or_equal_to\": \"は%{count}以上の値にしてください\",\n \"inclusion\": \"は一覧にありません\",\n \"invalid\": \"は不正な値です\",\n \"less_than\": \"は%{count}より小さい値にしてください\",\n \"less_than_or_equal_to\": \"は%{count}以下の値にしてください\",\n \"model_invalid\": \"バリデーションに失敗しました: %{errors}\",\n \"not_a_number\": \"は数値で入力してください\",\n \"not_an_integer\": \"は整数で入力してください\",\n \"odd\": \"は奇数にしてください\",\n \"other_than\": \"は%{count}以外の値にしてください\",\n \"over_limit\": \"が上限に達しています\",\n \"present\": \"は入力しないでください\",\n \"required\": \"を入力してください\",\n \"start_should_be_before_end\": \"開始時刻は終了時刻より前にしてください\",\n \"taken\": \"はすでに存在します\",\n \"too_long\": \"は%{count}文字以内で入力してください\",\n \"too_short\": \"は%{count}文字以上で入力してください\",\n \"work_time_must_not_over_lap\": \"作業時刻が重複しています\",\n \"wrong_length\": \"は%{count}文字で入力してください\"\n },\n \"not_found\": {\n \"go back home\": \"ホームへ戻る\",\n \"oops\": \"おっとっと! 悪いリンクをたどったようです。もし解決が出来ない場合は、教えてください。\",\n \"page not found\": \"ページが見つかりません(404)\",\n \"title\": \"ページが見つかりません\"\n },\n \"template\": {\n \"body\": \"次の項目を確認してください\",\n \"header\": {\n \"one\": \"%{model}にエラーが発生しました\",\n \"other\": \"%{model}に%{count}個のエラーが発生しました\"\n }\n }\n },\n \"helpers\": {\n \"done\": {\n \"create\": \"登録しました。\",\n \"destroy\": \"削除しました。\",\n \"disable\": \"無効化しました。\",\n \"enable\": \"有効化しました。\",\n \"handin\": \"提出しました。\",\n \"update\": \"更新しました。\"\n },\n \"failure\": {\n \"create\": \"登録に失敗しました。\",\n \"destroy\": \"削除に失敗しました。\",\n \"disable\": \"無効化に失敗しました。\",\n \"employeesnotfound\": \"従業員を選択してください。\",\n \"enable\": \"有効化に失敗しました。\",\n \"handin\": \"提出に失敗しました。\",\n \"update\": \"更新に失敗しました。\",\n \"worksnotfound\": \"作業報告を入力してください。\"\n },\n \"select\": {\n \"do_not_change\": \"変更しない\",\n \"prompt\": \"選択してください\"\n },\n \"state\": {\n \"dr\": {\n \"not_submitted\": \"未提出\",\n \"submitted\": \"提出済\"\n },\n \"hidden\": \"非表示\",\n \"none\": \"なし\",\n \"notset\": \"未設定\",\n \"visible\": \"表示\"\n },\n \"submit\": {\n \"change\": \"変更\",\n \"create\": \"登録\",\n \"destroy\": \"削除\",\n \"disable\": \"無効化\",\n \"download\": \"ダウンロード\",\n \"edit\": \"編集\",\n \"enable\": \"有効化\",\n \"handin\": \"提出\",\n \"new\": \"新規作成\",\n \"submit\": \"保存\",\n \"update\": \"更新\"\n }\n },\n \"number\": {\n \"currency\": {\n \"format\": {\n \"delimiter\": \",\",\n \"format\": \"%n%u\",\n \"precision\": 0,\n \"separator\": \".\",\n \"significant\": false,\n \"strip_insignificant_zeros\": false,\n \"unit\": \"円\"\n }\n },\n \"format\": {\n \"delimiter\": \",\",\n \"precision\": 3,\n \"separator\": \".\",\n \"significant\": false,\n \"strip_insignificant_zeros\": false\n },\n \"human\": {\n \"decimal_units\": {\n \"format\": \"%n %u\",\n \"units\": {\n \"billion\": \"十億\",\n \"million\": \"百万\",\n \"quadrillion\": \"千兆\",\n \"thousand\": \"千\",\n \"trillion\": \"兆\",\n \"unit\": \"\"\n }\n },\n \"format\": {\n \"delimiter\": \"\",\n \"precision\": 3,\n \"significant\": true,\n \"strip_insignificant_zeros\": true\n },\n \"storage_units\": {\n \"format\": \"%n%u\",\n \"units\": {\n \"byte\": \"バイト\",\n \"eb\": \"EB\",\n \"gb\": \"GB\",\n \"kb\": \"KB\",\n \"mb\": \"MB\",\n \"pb\": \"PB\",\n \"tb\": \"TB\"\n }\n }\n },\n \"percentage\": {\n \"format\": {\n \"delimiter\": \"\",\n \"format\": \"%n%\"\n }\n },\n \"precision\": {\n \"format\": {\n \"delimiter\": \"\"\n }\n }\n },\n \"sessions\": {\n \"destroy\": {\n \"done\": \"ログアウトしました\"\n }\n },\n \"shared\": {\n \"admin_layout\": {\n \"user_settings_dr_component\": {\n \"title\": \"選択方法の設定\"\n },\n \"view_type_sec\": {\n \"title\": \"日報提出画面設定\"\n }\n },\n \"section\": {\n \"confirm\": {\n \"delete\": \"本当に削除しますか?\"\n }\n }\n },\n \"support\": {\n \"array\": {\n \"last_word_connector\": \"、\",\n \"two_words_connector\": \"、\",\n \"words_connector\": \"、\"\n }\n },\n \"time\": {\n \"am\": \"午前\",\n \"formats\": {\n \"dash\": \"%Y-%m-%d\",\n \"default\": \"%Y年%m月%d日(%a) %H時%M分%S秒 %z\",\n \"long\": \"%Y/%m/%d %H:%M\",\n \"short\": \"%m/%d %H:%M\",\n \"short_time\": \"%H:%M\"\n },\n \"pm\": \"午後\"\n },\n \"users\": {\n \"shared\": {\n \"form_group\": {\n \"notify_notsubmit_enable\": \"有効\"\n },\n \"section\": {\n \"confirm\": {\n \"delete\": \"本当に無効化しますか?\"\n },\n \"deactivate\": \"ユーザを無効化\"\n }\n }\n },\n \"work_contents\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"この作業を削除します\"\n }\n }\n },\n \"work_details\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"この作業詳細を削除します\"\n }\n }\n },\n \"work_properties\": {\n \"shared\": {\n \"section\": {\n \"destroy\": \"この案件を削除します\"\n }\n }\n }\n }\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { Option, None, Some } from 'ts-results';\nimport type { CascaderValue } from 'antd-mobile/es/components/cascader';\n\ninterface ID {\n id: number;\n}\n\nconst isId = (workProperty: ID, target: CascaderValue): boolean => {\n if (workProperty.id.toString() === target) {\n return true;\n }\n\n return false;\n};\n\nexport const findCascaderValue = (\n items: Array,\n target: Array,\n): Option => {\n const lastValue = target[target.length - 1];\n\n const ret = items.find((item) => isId(item, lastValue));\n if (ret !== undefined) {\n return Some(ret);\n }\n\n return None;\n};\n\nexport const makeCascaderDefaultValue = (\n workItem: { id: number; name: string } | null,\n delimiter: string,\n): Array => {\n const defaultValue =\n workItem?.name.split(delimiter).map((wi) => wi.trim()) ?? [];\n if (defaultValue.length !== 0) {\n defaultValue[defaultValue.length - 1] = `${workItem.id}`;\n }\n\n return defaultValue;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && _typeof(value) == 'object';\n}\n\nmodule.exports = isObjectLike;","export * from './CheckMark';\n","export * from './DailyReportViewTypeCForm'\n","export * from './DailyReportViewTypeDForm'\n","import React, { FC, useState } from 'react';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { Cascader as AntCascader, ConfigProvider, Button } from 'antd-mobile';\nimport type {\n CascaderOption,\n CascaderValue,\n CascaderValueExtend,\n} from 'antd-mobile/es/components/cascader';\nimport cx from 'classnames';\nimport { getValueLabel } from '@/utils/getValueLabel';\n\njaJp.common.confirm = '決定';\n\ntype CascaderProps = {\n value: Array;\n valueLabel: string | null;\n valueLabelOr?: string;\n options: Array;\n onConfirm: (value: Array, extend: CascaderValueExtend) => void;\n title?: string;\n placeholder?: string;\n};\n\nexport const Cascader: FC = ({\n value,\n valueLabel,\n valueLabelOr = 'not selected yet...',\n options,\n onConfirm,\n title,\n placeholder = 'select...',\n}) => {\n const [visiblity, setVisibility] = useState(false);\n const isEmpty = value.length === 0;\n const selectLabel = getValueLabel(isEmpty, placeholder, valueLabel);\n\n return (\n \n setVisibility(true)}\n >\n \n {selectLabel.unwrapOr(valueLabelOr)}\n \n \n setVisibility(false)}\n onConfirm={onConfirm}\n title={title}\n confirmText={\n \n }\n />\n \n );\n};\n","import { Option, None, Some } from 'ts-results';\n\nexport const getValueLabel = (\n isEmpty: boolean,\n placeholder: string,\n valueLabel: string | null,\n): Option => {\n if (isEmpty) {\n return Some(placeholder);\n }\n if (valueLabel === null) {\n return None;\n }\n\n return Some(valueLabel);\n};\n","import React, { FC } from 'react';\nimport type { Work } from '@/interface';\nimport { WorkEntity } from '@/components/WorkEntity';\n\ntype WorkEntityListWithHiddenProps = {\n works: Array;\n};\n\nexport const WorkEntityListWithHidden: FC = ({\n works,\n}) => (\n
\n {works.map((work, index) => (\n undefined}\n index={index}\n />\n ))}\n
\n);\n","var baseGet = require('./_baseGet');\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n\n\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport { useEffect, useLayoutEffect, createContext, useContext, useState, createElement, useRef, useCallback, useDebugValue } from 'react';\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nfunction __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\nvar noop = function noop() {}; // Using noop() as the undefined value as undefined can possibly be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\n\n\nvar UNDEFINED =\n/*#__NOINLINE__*/\nnoop();\nvar OBJECT = Object;\n\nvar isUndefined = function isUndefined(v) {\n return v === UNDEFINED;\n};\n\nvar isFunction = function isFunction(v) {\n return typeof v == 'function';\n};\n\nvar mergeObjects = function mergeObjects(a, b) {\n return OBJECT.assign({}, a, b);\n};\n\nvar STR_UNDEFINED = 'undefined';\n\nvar hasWindow = function hasWindow() {\n return (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) != STR_UNDEFINED;\n};\n\nvar hasDocument = function hasDocument() {\n return (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) != STR_UNDEFINED;\n}; // use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\n\n\nvar table = new WeakMap(); // counter of the key\n\nvar counter = 0; // A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsible.\n\nvar stableHash = function stableHash(arg) {\n var type = _typeof(arg);\n\n var constructor = arg && arg.constructor;\n var isDate = constructor == Date;\n var result;\n var index;\n\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result; // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n\n result = ++counter + '~';\n table.set(arg, result);\n\n if (constructor == Array) {\n // Array.\n result = '@';\n\n for (index = 0; index < arg.length; index++) {\n result += stableHash(arg[index]) + ',';\n }\n\n table.set(arg, result);\n }\n\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n var keys = OBJECT.keys(arg).sort();\n\n while (!isUndefined(index = keys.pop())) {\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n\n return result;\n};\n/**\n * Due to bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a work around, we always assume it's online on first load, and change\n * the status upon `online` or `offline` events.\n */\n\n\nvar online = true;\n\nvar isOnline = function isOnline() {\n return online;\n};\n\nvar hasWin = hasWindow();\nvar hasDoc = hasDocument(); // For node and React Native, `add/removeEventListener` doesn't exist on window.\n\nvar onWindowEvent = hasWin && window.addEventListener ? window.addEventListener.bind(window) : noop;\nvar onDocumentEvent = hasDoc ? document.addEventListener.bind(document) : noop;\nvar offWindowEvent = hasWin && window.removeEventListener ? window.removeEventListener.bind(window) : noop;\nvar offDocumentEvent = hasDoc ? document.removeEventListener.bind(document) : noop;\n\nvar isVisible = function isVisible() {\n var visibilityState = hasDoc && document.visibilityState;\n\n if (!isUndefined(visibilityState)) {\n return visibilityState !== 'hidden';\n }\n\n return true;\n};\n\nvar initFocus = function initFocus(cb) {\n // focus revalidate\n onDocumentEvent('visibilitychange', cb);\n onWindowEvent('focus', cb);\n return function () {\n offDocumentEvent('visibilitychange', cb);\n offWindowEvent('focus', cb);\n };\n};\n\nvar initReconnect = function initReconnect(cb) {\n // revalidate on reconnected\n var onOnline = function onOnline() {\n online = true;\n cb();\n }; // nothing to revalidate, just update the status\n\n\n var onOffline = function onOffline() {\n online = false;\n };\n\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return function () {\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\n\nvar preset = {\n isOnline: isOnline,\n isVisible: isVisible\n};\nvar defaultConfigOptions = {\n initFocus: initFocus,\n initReconnect: initReconnect\n};\nvar IS_SERVER = !hasWindow() || 'Deno' in window; // Polyfill requestAnimationFrame\n\nvar rAF = function rAF(f) {\n return hasWindow() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n}; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\n\n\nvar useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect; // This assignment is to extend the Navigator type to use effectiveType.\n\nvar navigatorConnection = typeof navigator !== 'undefined' && navigator.connection; // Adjust the config based on slow connection status (<= 70Kbps).\n\nvar slowConnection = !IS_SERVER && navigatorConnection && (['slow-2g', '2g'].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nvar serialize = function serialize(key) {\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n\n var args = [].concat(key); // If key is not falsy, or not an empty array, hash it.\n\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n var errorKey = key ? '$err$' + key : '';\n var isValidatingKey = key ? '$req$' + key : '';\n return [key, args, errorKey, isValidatingKey];\n}; // Global state used to deduplicate requests and store listeners\n\n\nvar SWRGlobalState = new WeakMap();\nvar FOCUS_EVENT = 0;\nvar RECONNECT_EVENT = 1;\nvar MUTATE_EVENT = 2;\n\nvar broadcastState = function broadcastState(cache, key, data, error, isValidating, revalidate) {\n var _a = SWRGlobalState.get(cache),\n EVENT_REVALIDATORS = _a[0],\n STATE_UPDATERS = _a[1],\n CONCURRENT_PROMISES = _a[4],\n CONCURRENT_PROMISES_TS = _a[5];\n\n var revalidators = EVENT_REVALIDATORS[key];\n var updaters = STATE_UPDATERS[key] || []; // Always update states of all hooks.\n\n for (var i = 0; i < updaters.length; ++i) {\n updaters[i](data, error, isValidating);\n } // If we also need to revalidate, only do it for the first hook.\n\n\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete CONCURRENT_PROMISES[key];\n delete CONCURRENT_PROMISES_TS[key];\n\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(function () {\n return cache.get(key);\n });\n }\n }\n\n return cache.get(key);\n}; // Global timestamp.\n\n\nvar __timestamp = 0;\n\nvar getTimestamp = function getTimestamp() {\n return ++__timestamp;\n};\n\nvar internalMutate = function internalMutate() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return __awaiter(void 0, void 0, void 0, function () {\n var cache, _key, revalidate, _data, _a, key, keyErr, _b, MUTATION_TS, MUTATION_END_TS, data, error, beforeMutationTs, res;\n\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n cache = args[0], _key = args[1];\n revalidate = args[3] !== false;\n _data = args[2];\n _a = serialize(_key), key = _a[0], keyErr = _a[2];\n if (!key) return [2\n /*return*/\n ];\n _b = SWRGlobalState.get(cache), MUTATION_TS = _b[2], MUTATION_END_TS = _b[3]; // If there is no new data provided, revalidate the key with current state.\n\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return [2\n /*return*/\n , broadcastState(cache, key, cache.get(key), cache.get(keyErr), UNDEFINED, revalidate)];\n }\n\n beforeMutationTs = MUTATION_TS[key] = getTimestamp();\n MUTATION_END_TS[key] = 0;\n\n if (isFunction(_data)) {\n // `_data` is a function, call it passing current cache value.\n try {\n _data = _data(cache.get(key));\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n\n if (!(_data && isFunction(_data.then))) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , _data[\"catch\"](function (err) {\n error = err;\n }) // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n ];\n\n case 1:\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = _c.sent(); // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n\n if (beforeMutationTs !== MUTATION_TS[key]) {\n if (error) throw error;\n return [2\n /*return*/\n , data];\n }\n\n return [3\n /*break*/\n , 3];\n\n case 2:\n data = _data;\n _c.label = 3;\n\n case 3:\n // Only update cached data if there's no error. Data can be `undefined` here.\n if (!error) {\n cache.set(key, data);\n } // Always update or reset the error.\n\n\n cache.set(keyErr, error); // Reset the timestamp to mark the mutation has ended.\n\n MUTATION_END_TS[key] = getTimestamp();\n return [4\n /*yield*/\n , broadcastState(cache, key, data, error, UNDEFINED, revalidate) // Throw error or return data\n ];\n\n case 4:\n res = _c.sent(); // Throw error or return data\n\n if (error) throw error;\n return [2\n /*return*/\n , res];\n }\n });\n });\n};\n\nvar revalidateAllKeys = function revalidateAllKeys(revalidators, type) {\n for (var key in revalidators) {\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\n\nvar initCache = function initCache(provider, options) {\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that bound to\n // the cache.\n // Provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n var opts = mergeObjects(defaultConfigOptions, options); // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n\n var EVENT_REVALIDATORS = {};\n var mutate = internalMutate.bind(UNDEFINED, provider);\n var unmount = noop; // Update the state if it's new, or the provider has been extended.\n\n SWRGlobalState.set(provider, [EVENT_REVALIDATORS, {}, {}, {}, {}, {}, mutate]); // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n\n if (!IS_SERVER) {\n var releaseFocus_1 = opts.initFocus(revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT));\n var releaseReconnect_1 = opts.initReconnect(revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT));\n\n unmount = function unmount() {\n releaseFocus_1 && releaseFocus_1();\n releaseReconnect_1 && releaseReconnect_1(); // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise when re-mounting we\n // will not re-register those event listeners.\n\n SWRGlobalState[\"delete\"](provider);\n };\n } // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n\n\n return [provider, mutate, unmount];\n }\n\n return [provider, SWRGlobalState.get(provider)[6]];\n}; // error retry\n\n\nvar onErrorRetry = function onErrorRetry(_, __, config, revalidate, opts) {\n if (!preset.isVisible()) {\n // If it's hidden, stop. It will auto revalidate when refocusing.\n return;\n }\n\n var maxRetryCount = config.errorRetryCount;\n var currentRetryCount = opts.retryCount; // Exponential backoff\n\n var timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n\n setTimeout(revalidate, timeout, opts);\n}; // Default cache provider\n\n\nvar _a = initCache(new Map()),\n cache = _a[0],\n mutate = _a[1]; // Default config\n\n\nvar defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry: onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare: function compare(currentData, newData) {\n return stableHash(currentData) == stableHash(newData);\n },\n isPaused: function isPaused() {\n return false;\n },\n cache: cache,\n mutate: mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nvar mergeConfigs = function mergeConfigs(a, b) {\n // Need to create a new object to avoid mutating the original here.\n var v = mergeObjects(a, b); // If two configs are provided, merge their `use` and `fallback` options.\n\n if (b) {\n var u1 = a.use,\n f1 = a.fallback;\n var u2 = b.use,\n f2 = b.fallback;\n\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n\n return v;\n};\n\nvar SWRConfigContext = /*#__PURE__*/createContext({});\n\nvar SWRConfig$1 = function SWRConfig$1(props) {\n var value = props.value; // Extend parent context values and middleware.\n\n var extendedConfig = mergeConfigs(useContext(SWRConfigContext), value); // Should not use the inherited provider.\n\n var provider = value && value.provider; // Use a lazy initialized state to create the cache on first access.\n\n var cacheContext = useState(function () {\n return provider ? initCache(provider(extendedConfig.cache || cache), value) : UNDEFINED;\n })[0]; // Override the cache if a new provider is given.\n\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n } // Unsubscribe events.\n\n\n useIsomorphicLayoutEffect(function () {\n return cacheContext ? cacheContext[2] : UNDEFINED;\n }, []);\n return /*#__PURE__*/createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n/**\n * An implementation of state with dependency-tracking.\n */\n\n\nvar useStateWithDeps = function useStateWithDeps(state, unmountedRef) {\n var rerender = useState({})[1];\n var stateRef = useRef(state); // If a state property (data, error or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n\n var stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */\n\n var setState = useCallback(function (payload) {\n var shouldRerender = false;\n var currentState = stateRef.current;\n\n for (var _ in payload) {\n var k = _; // If the property has changed, update the state and mark rerender as\n // needed.\n\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k]; // If the property is accessed by the component, a rerender should be\n // triggered.\n\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, // config.suspense isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []); // Always update the state reference.\n\n useIsomorphicLayoutEffect(function () {\n stateRef.current = state;\n });\n return [stateRef, stateDependenciesRef.current, setState];\n};\n\nvar normalize = function normalize(args) {\n return isFunction(args[1]) ? [args[0], args[1], args[2] || {}] : [args[0], null, (args[1] === null ? args[2] : args[1]) || {}];\n};\n\nvar useSWRConfig = function useSWRConfig() {\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n}; // It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\n\n\nvar withArgs = function withArgs(hook) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n } // Get the default and inherited configuration.\n\n\n var fallbackConfig = useSWRConfig(); // Normalize arguments.\n\n var _a = normalize(args),\n key = _a[0],\n fn = _a[1],\n _config = _a[2]; // Merge configurations.\n\n\n var config = mergeConfigs(fallbackConfig, _config); // Apply middleware\n\n var next = hook;\n var use = config.use;\n\n if (use) {\n for (var i = use.length; i-- > 0;) {\n next = use[i](next);\n }\n }\n\n return next(key, fn || config.fetcher, config);\n };\n}; // Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\n\n\nvar subscribeCallback = function subscribeCallback(key, callbacks, callback) {\n var keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return function () {\n var index = keyedRevalidators.indexOf(callback);\n\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\nvar WITH_DEDUPE = {\n dedupe: true\n};\n\nvar useSWRHandler = function useSWRHandler(_key, fn, config) {\n var cache = config.cache,\n compare = config.compare,\n fallbackData = config.fallbackData,\n suspense = config.suspense,\n revalidateOnMount = config.revalidateOnMount,\n refreshInterval = config.refreshInterval,\n refreshWhenHidden = config.refreshWhenHidden,\n refreshWhenOffline = config.refreshWhenOffline;\n\n var _a = SWRGlobalState.get(cache),\n EVENT_REVALIDATORS = _a[0],\n STATE_UPDATERS = _a[1],\n MUTATION_TS = _a[2],\n MUTATION_END_TS = _a[3],\n CONCURRENT_PROMISES = _a[4],\n CONCURRENT_PROMISES_TS = _a[5]; // `key` is the identifier of the SWR `data` state, `keyErr` and\n // `keyValidating` are identifiers of `error` and `isValidating`,\n // all of them are derived from `_key`.\n // `fnArgs` is an array of arguments parsed from the key, which will be passed\n // to the fetcher.\n\n\n var _b = serialize(_key),\n key = _b[0],\n fnArgs = _b[1],\n keyErr = _b[2],\n keyValidating = _b[3]; // If it's the initial render of this hook.\n\n\n var initialMountedRef = useRef(false); // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n\n var unmountedRef = useRef(false); // Refs to keep the key and config.\n\n var keyRef = useRef(key);\n var configRef = useRef(config);\n\n var getConfig = function getConfig() {\n return configRef.current;\n }; // Get the current state that SWR should return.\n\n\n var cached = cache.get(key);\n var fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n var data = isUndefined(cached) ? fallback : cached;\n var error = cache.get(keyErr); // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n\n var shouldRevalidateOnMount = function shouldRevalidateOnMount() {\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount; // If it's paused, we skip revalidation.\n\n if (getConfig().isPaused()) return false;\n return suspense ? // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately on mount again.\n !isUndefined(data) : // If there is no stale data, we need to revalidate on mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n isUndefined(data) || config.revalidateIfStale;\n }; // Resolve the current validating state.\n\n\n var resolveValidating = function resolveValidating() {\n if (!key || !fn) return false;\n if (cache.get(keyValidating)) return true; // If it's not mounted yet and it should revalidate on mount, revalidate.\n\n return !initialMountedRef.current && shouldRevalidateOnMount();\n };\n\n var isValidating = resolveValidating();\n\n var _c = useStateWithDeps({\n data: data,\n error: error,\n isValidating: isValidating\n }, unmountedRef),\n stateRef = _c[0],\n stateDependencies = _c[1],\n setState = _c[2]; // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n\n\n var revalidate = useCallback(function (revalidateOpts) {\n return __awaiter(void 0, void 0, void 0, function () {\n var newData, startAt, loading, opts, shouldStartNewRequest, isCurrentKeyMounted, cleanupState, newState, finishRequestAndUpdateState, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!key || !fn || unmountedRef.current || getConfig().isPaused()) {\n return [2\n /*return*/\n , false];\n }\n\n loading = true;\n opts = revalidateOpts || {};\n shouldStartNewRequest = isUndefined(CONCURRENT_PROMISES[key]) || !opts.dedupe;\n\n isCurrentKeyMounted = function isCurrentKeyMounted() {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n };\n\n cleanupState = function cleanupState() {\n // CONCURRENT_PROMISES_TS[key] might be overridden, check if it's still\n // the same request before deleting.\n if (CONCURRENT_PROMISES_TS[key] === startAt) {\n delete CONCURRENT_PROMISES[key];\n delete CONCURRENT_PROMISES_TS[key];\n }\n };\n\n newState = {\n isValidating: false\n };\n\n finishRequestAndUpdateState = function finishRequestAndUpdateState() {\n cache.set(keyValidating, false); // We can only set state if it's safe (still mounted with the same key).\n\n if (isCurrentKeyMounted()) {\n setState(newState);\n }\n }; // Start fetching. Change the `isValidating` state, update the cache.\n\n\n cache.set(keyValidating, true);\n setState({\n isValidating: true\n });\n _a.label = 1;\n\n case 1:\n _a.trys.push([1, 3,, 4]);\n\n if (shouldStartNewRequest) {\n // Tell all other hooks to change the `isValidating` state.\n broadcastState(cache, key, stateRef.current.data, stateRef.current.error, true); // If no cache being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n\n if (config.loadingTimeout && !cache.get(key)) {\n setTimeout(function () {\n if (loading && isCurrentKeyMounted()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n } // Start the request and keep the timestamp.\n\n\n CONCURRENT_PROMISES_TS[key] = getTimestamp();\n CONCURRENT_PROMISES[key] = fn.apply(void 0, fnArgs);\n } // Wait until the ongoing request is done. Deduplication is also\n // considered here.\n\n\n startAt = CONCURRENT_PROMISES_TS[key];\n return [4\n /*yield*/\n , CONCURRENT_PROMISES[key]];\n\n case 2:\n newData = _a.sent();\n\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n } // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // CONCURRENT_PROMISES_TS[key] maybe be `undefined` or a number\n\n\n if (CONCURRENT_PROMISES_TS[key] !== startAt) {\n if (shouldStartNewRequest) {\n if (isCurrentKeyMounted()) {\n getConfig().onDiscarded(key);\n }\n }\n\n return [2\n /*return*/\n , false];\n } // Clear error.\n\n\n cache.set(keyErr, UNDEFINED);\n newState.error = UNDEFINED; // If there're other mutations(s), overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n\n if (!isUndefined(MUTATION_TS[key]) && ( // case 1\n startAt <= MUTATION_TS[key] || // case 2\n startAt <= MUTATION_END_TS[key] || // case 3\n MUTATION_END_TS[key] === 0)) {\n finishRequestAndUpdateState();\n\n if (shouldStartNewRequest) {\n if (isCurrentKeyMounted()) {\n getConfig().onDiscarded(key);\n }\n }\n\n return [2\n /*return*/\n , false];\n } // Deep compare with latest state to avoid extra re-renders.\n // For local state, compare and assign.\n\n\n if (!compare(stateRef.current.data, newData)) {\n newState.data = newData;\n } else {\n // data and newData are deeply equal\n // it should be safe to broadcast the stale data\n newState.data = stateRef.current.data; // At the end of this function, `brocastState` invokes the `onStateUpdate` function,\n // which takes care of avoiding the re-render\n } // For global state, it's possible that the key has changed.\n // https://github.com/vercel/swr/pull/1058\n\n\n if (!compare(cache.get(key), newData)) {\n cache.set(key, newData);\n } // Trigger the successful callback if it's the original request.\n\n\n if (shouldStartNewRequest) {\n if (isCurrentKeyMounted()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n\n return [3\n /*break*/\n , 4];\n\n case 3:\n err_1 = _a.sent();\n cleanupState(); // Not paused, we continue handling the error. Otherwise discard it.\n\n if (!getConfig().isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n cache.set(keyErr, err_1);\n newState.error = err_1; // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n\n if (shouldStartNewRequest && isCurrentKeyMounted()) {\n getConfig().onError(err_1, key, config);\n\n if (config.shouldRetryOnError) {\n // When retrying, dedupe is always enabled\n getConfig().onErrorRetry(err_1, key, config, revalidate, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n\n return [3\n /*break*/\n , 4];\n\n case 4:\n // Mark loading as stopped.\n loading = false; // Update the current hook's state.\n\n finishRequestAndUpdateState(); // Here is the source of the request, need to tell all other hooks to\n // update their states.\n\n if (isCurrentKeyMounted() && shouldStartNewRequest) {\n broadcastState(cache, key, newState.data, newState.error, false);\n }\n\n return [2\n /*return*/\n , true];\n }\n });\n });\n }, // `setState` is immutable, and `eventsCallback`, `fnArgs`, `keyErr`,\n // and `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [key]); // Similar to the global mutate, but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n var boundMutate = useCallback( // By using `bind` we don't need to modify the size of the rest arguments.\n internalMutate.bind(UNDEFINED, cache, function () {\n return keyRef.current;\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n []); // Always update config.\n\n useIsomorphicLayoutEffect(function () {\n configRef.current = config;\n }); // After mounted or key changed.\n\n useIsomorphicLayoutEffect(function () {\n if (!key) return; // Not the initial render.\n\n var keyChanged = initialMountedRef.current;\n var softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n\n var isActive = function isActive() {\n return getConfig().isVisible() && getConfig().isOnline();\n }; // Expose state updater to global event listeners. So we can update hook's\n // internal state from the outside.\n\n\n var onStateUpdate = function onStateUpdate(updatedData, updatedError, updatedIsValidating) {\n setState(mergeObjects({\n error: updatedError,\n isValidating: updatedIsValidating\n }, // Since `setState` only shallowly compares states, we do a deep\n // comparison here.\n compare(stateRef.current.data, updatedData) ? UNDEFINED : {\n data: updatedData\n }));\n }; // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n\n\n var nextFocusRevalidatedAt = 0;\n\n var onRevalidate = function onRevalidate(type) {\n if (type == FOCUS_EVENT) {\n var now = Date.now();\n\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == MUTATE_EVENT) {\n return revalidate();\n }\n\n return;\n };\n\n var unsubUpdate = subscribeCallback(key, STATE_UPDATERS, onStateUpdate);\n var unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate); // Mark the component as mounted and update corresponding refs.\n\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true; // When `key` updates, reset the state to the initial value\n // and trigger a rerender if necessary.\n\n if (keyChanged) {\n setState({\n data: data,\n error: error,\n isValidating: isValidating\n });\n } // Trigger a revalidation.\n\n\n if (shouldRevalidateOnMount()) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n\n return function () {\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubUpdate();\n unsubEvents();\n };\n }, [key, revalidate]); // Polling\n\n useIsomorphicLayoutEffect(function () {\n var timer;\n\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n var interval = isFunction(refreshInterval) ? refreshInterval(data) : refreshInterval; // We only start next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online and not errored.\n if (!stateRef.current.error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule next interval to check again.\n next();\n }\n }\n\n next();\n return function () {\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [refreshInterval, refreshWhenHidden, refreshWhenOffline, revalidate]); // Display debug info in React DevTools.\n\n useDebugValue(data); // In Suspense mode, we can't return the empty `data` state.\n // If there is `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n\n if (suspense && isUndefined(data) && key) {\n throw isUndefined(error) ? revalidate(WITH_DEDUPE) : error;\n }\n\n return {\n mutate: boundMutate,\n\n get data() {\n stateDependencies.data = true;\n return data;\n },\n\n get error() {\n stateDependencies.error = true;\n return error;\n },\n\n get isValidating() {\n stateDependencies.isValidating = true;\n return isValidating;\n }\n\n };\n};\n\nvar SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'default', {\n value: defaultConfig\n});\n\nvar unstable_serialize = function unstable_serialize(key) {\n return serialize(key)[0];\n};\n\nvar useSWR = withArgs(useSWRHandler); // useSWR\n\nexport { SWRConfig, useSWR as default, mutate, unstable_serialize, useSWRConfig };","import axios from 'axios';\nimport useSWR from 'swr';\nimport { User } from '@/interface';\n\nconst fetcher = (url: string) => axios.get(url).then((res) => res.data);\n\ninterface IuseUsers {\n departmentId: number\n}\n\ntype UseUsers = (args: IuseUsers) => {\n users: Array;\n isUserLoading: boolean;\n};\n\nexport const useUsers: UseUsers = ({ departmentId }) => {\n const { data, error } = useSWR(`/api/users?department_id=${departmentId}`, fetcher);\n\n return {\n users: data as User[],\n isUserLoading: !error && !data,\n };\n};\n\ntype Response = {\n users: Array;\n isLoading: boolean;\n};\n\nconst queryFetcher = (url: string, target: string) =>\n axios.get(`${url}?${target}`).then((res) => res.data);\n\nexport const useUsersWithUnsubmit: (\n querys: { target: string },\n initialData: Array,\n) => Response = (querys, initialData) => {\n const qs = () => {\n const usp = new URLSearchParams(querys);\n usp.sort();\n return usp.toString();\n };\n\n const { data, error } = useSWR(['/api/users/unsubmit', qs()], {\n fallbackData: initialData,\n fetcher: queryFetcher,\n });\n\n return {\n users: data as User[],\n isLoading: !error && !data,\n };\n};\n","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n} // Some versions of FF have rAF but not cAF\n\n\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\n\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\n\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\n\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && _typeof(value) == 'object';\n}\n\nmodule.exports = isObjectLike;","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && _typeof(value) == 'object';\n}\n\nmodule.exports = isObjectLike;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = _typeof(arg);\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && _typeof(define.amd) === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","var baseIsEqual = require('./_baseIsEqual');\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n\n\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;","import type { Config } from './types';\n\nexport const defaultFilterConfig: Config = {\n ignoreCase: true,\n ignoreAccents: false,\n trim: false,\n matchFrom: 'start',\n};\n","var isBrowser = \"object\" !== 'undefined';\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\n\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar use_localstorage_1 = require(\"./use-localstorage\");\n\nexports.useLocalStorage = use_localstorage_1.useLocalStorage;\n\nvar local_storage_events_1 = require(\"./local-storage-events\");\n\nexports.writeStorage = local_storage_events_1.writeStorage;\nexports.deleteFromStorage = local_storage_events_1.deleteFromStorage;\nexports[\"default\"] = use_localstorage_1.useLocalStorage;","export function toString(val) {\n var value = String(val);\n\n if (value === '[object Object]') {\n try {\n value = JSON.stringify(val);\n } catch (_a) {}\n }\n\n return value;\n}","import { toString } from './utils';\nimport { Ok, Err } from './result';\n/**\n * Contains the None value\n */\n\nvar NoneImpl =\n/** @class */\nfunction () {\n function NoneImpl() {\n this.some = false;\n this.none = true;\n }\n\n NoneImpl.prototype[Symbol.iterator] = function () {\n return {\n next: function next() {\n return {\n done: true,\n value: undefined\n };\n }\n };\n };\n\n NoneImpl.prototype.unwrapOr = function (val) {\n return val;\n };\n\n NoneImpl.prototype.expect = function (msg) {\n throw new Error(\"\" + msg);\n };\n\n NoneImpl.prototype.unwrap = function () {\n throw new Error(\"Tried to unwrap None\");\n };\n\n NoneImpl.prototype.map = function (_mapper) {\n return this;\n };\n\n NoneImpl.prototype.andThen = function (op) {\n return this;\n };\n\n NoneImpl.prototype.toResult = function (error) {\n return Err(error);\n };\n\n NoneImpl.prototype.toString = function () {\n return 'None';\n };\n\n return NoneImpl;\n}(); // Export None as a singleton, then freeze it so it can't be modified\n\n\nexport var None = new NoneImpl();\nObject.freeze(None);\n/**\n * Contains the success value\n */\n\nvar SomeImpl =\n/** @class */\nfunction () {\n function SomeImpl(val) {\n if (!(this instanceof SomeImpl)) {\n return new SomeImpl(val);\n }\n\n this.some = true;\n this.none = false;\n this.val = val;\n }\n /**\n * Helper function if you know you have an Some and T is iterable\n */\n\n\n SomeImpl.prototype[Symbol.iterator] = function () {\n var obj = Object(this.val);\n return Symbol.iterator in obj ? obj[Symbol.iterator]() : {\n next: function next() {\n return {\n done: true,\n value: undefined\n };\n }\n };\n };\n\n SomeImpl.prototype.unwrapOr = function (_val) {\n return this.val;\n };\n\n SomeImpl.prototype.expect = function (_msg) {\n return this.val;\n };\n\n SomeImpl.prototype.unwrap = function () {\n return this.val;\n };\n\n SomeImpl.prototype.map = function (mapper) {\n return Some(mapper(this.val));\n };\n\n SomeImpl.prototype.andThen = function (mapper) {\n return mapper(this.val);\n };\n\n SomeImpl.prototype.toResult = function (error) {\n return Ok(this.val);\n };\n /**\n * Returns the contained `Some` value, but never throws.\n * Unlike `unwrap()`, this method doesn't throw and is only callable on an Some\n *\n * Therefore, it can be used instead of `unwrap()` as a maintainability safeguard\n * that will fail to compile if the type of the Option is later changed to a None that can actually occur.\n *\n * (this is the `into_Some()` in rust)\n */\n\n\n SomeImpl.prototype.safeUnwrap = function () {\n return this.val;\n };\n\n SomeImpl.prototype.toString = function () {\n return \"Some(\" + toString(this.val) + \")\";\n };\n\n SomeImpl.EMPTY = new SomeImpl(undefined);\n return SomeImpl;\n}(); // This allows Some to be callable - possible because of the es5 compilation target\n\n\nexport var Some = SomeImpl;\nexport var Option;\n\n(function (Option) {\n /**\n * Parse a set of `Option`s, returning an array of all `Some` values.\n * Short circuits with the first `None` found, if any\n */\n function all() {\n var options = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n options[_i] = arguments[_i];\n }\n\n var someOption = [];\n\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n\n if (option.some) {\n someOption.push(option.val);\n } else {\n return option;\n }\n }\n\n return Some(someOption);\n }\n\n Option.all = all;\n /**\n * Parse a set of `Option`s, short-circuits when an input value is `Some`.\n * If no `Some` is found, returns `None`.\n */\n\n function any() {\n var options = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n options[_i] = arguments[_i];\n } // short-circuits\n\n\n for (var _a = 0, options_2 = options; _a < options_2.length; _a++) {\n var option = options_2[_a];\n\n if (option.some) {\n return option;\n } else {\n return option;\n }\n } // it must be None\n\n\n return None;\n }\n\n Option.any = any;\n\n function isOption(value) {\n return value instanceof Some || value === None;\n }\n\n Option.isOption = isOption;\n})(Option || (Option = {}));","import { toString } from './utils';\nimport { None, Some } from './option';\n/**\n * Contains the error value\n */\n\nvar ErrImpl =\n/** @class */\nfunction () {\n function ErrImpl(val) {\n if (!(this instanceof ErrImpl)) {\n return new ErrImpl(val);\n }\n\n this.ok = false;\n this.err = true;\n this.val = val;\n var stackLines = new Error().stack.split('\\n').slice(2);\n\n if (stackLines && stackLines.length > 0 && stackLines[0].includes('ErrImpl')) {\n stackLines.shift();\n }\n\n this._stack = stackLines.join('\\n');\n }\n\n ErrImpl.prototype[Symbol.iterator] = function () {\n return {\n next: function next() {\n return {\n done: true,\n value: undefined\n };\n }\n };\n };\n /**\n * @deprecated in favor of unwrapOr\n * @see unwrapOr\n */\n\n\n ErrImpl.prototype[\"else\"] = function (val) {\n return val;\n };\n\n ErrImpl.prototype.unwrapOr = function (val) {\n return val;\n };\n\n ErrImpl.prototype.expect = function (msg) {\n throw new Error(msg + \" - Error: \" + toString(this.val) + \"\\n\" + this._stack);\n };\n\n ErrImpl.prototype.unwrap = function () {\n throw new Error(\"Tried to unwrap Error: \" + toString(this.val) + \"\\n\" + this._stack);\n };\n\n ErrImpl.prototype.map = function (_mapper) {\n return this;\n };\n\n ErrImpl.prototype.andThen = function (op) {\n return this;\n };\n\n ErrImpl.prototype.mapErr = function (mapper) {\n return new Err(mapper(this.val));\n };\n\n ErrImpl.prototype.toOption = function () {\n return None;\n };\n\n ErrImpl.prototype.toString = function () {\n return \"Err(\" + toString(this.val) + \")\";\n };\n\n Object.defineProperty(ErrImpl.prototype, \"stack\", {\n get: function get() {\n return this + \"\\n\" + this._stack;\n },\n enumerable: false,\n configurable: true\n });\n /** An empty Err */\n\n ErrImpl.EMPTY = new ErrImpl(undefined);\n return ErrImpl;\n}();\n\nexport { ErrImpl }; // This allows Err to be callable - possible because of the es5 compilation target\n\nexport var Err = ErrImpl;\n/**\n * Contains the success value\n */\n\nvar OkImpl =\n/** @class */\nfunction () {\n function OkImpl(val) {\n if (!(this instanceof OkImpl)) {\n return new OkImpl(val);\n }\n\n this.ok = true;\n this.err = false;\n this.val = val;\n }\n /**\n * Helper function if you know you have an Ok and T is iterable\n */\n\n\n OkImpl.prototype[Symbol.iterator] = function () {\n var obj = Object(this.val);\n return Symbol.iterator in obj ? obj[Symbol.iterator]() : {\n next: function next() {\n return {\n done: true,\n value: undefined\n };\n }\n };\n };\n /**\n * @see unwrapOr\n * @deprecated in favor of unwrapOr\n */\n\n\n OkImpl.prototype[\"else\"] = function (_val) {\n return this.val;\n };\n\n OkImpl.prototype.unwrapOr = function (_val) {\n return this.val;\n };\n\n OkImpl.prototype.expect = function (_msg) {\n return this.val;\n };\n\n OkImpl.prototype.unwrap = function () {\n return this.val;\n };\n\n OkImpl.prototype.map = function (mapper) {\n return new Ok(mapper(this.val));\n };\n\n OkImpl.prototype.andThen = function (mapper) {\n return mapper(this.val);\n };\n\n OkImpl.prototype.mapErr = function (_mapper) {\n return this;\n };\n\n OkImpl.prototype.toOption = function () {\n return Some(this.val);\n };\n /**\n * Returns the contained `Ok` value, but never throws.\n * Unlike `unwrap()`, this method doesn't throw and is only callable on an Ok\n *\n * Therefore, it can be used instead of `unwrap()` as a maintainability safeguard\n * that will fail to compile if the error type of the Result is later changed to an error that can actually occur.\n *\n * (this is the `into_ok()` in rust)\n */\n\n\n OkImpl.prototype.safeUnwrap = function () {\n return this.val;\n };\n\n OkImpl.prototype.toString = function () {\n return \"Ok(\" + toString(this.val) + \")\";\n };\n\n OkImpl.EMPTY = new OkImpl(undefined);\n return OkImpl;\n}();\n\nexport { OkImpl }; // This allows Ok to be callable - possible because of the es5 compilation target\n\nexport var Ok = OkImpl;\nexport var Result;\n\n(function (Result) {\n /**\n * Parse a set of `Result`s, returning an array of all `Ok` values.\n * Short circuits with the first `Err` found, if any\n */\n function all() {\n var results = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n results[_i] = arguments[_i];\n }\n\n var okResult = [];\n\n for (var _a = 0, results_1 = results; _a < results_1.length; _a++) {\n var result = results_1[_a];\n\n if (result.ok) {\n okResult.push(result.val);\n } else {\n return result;\n }\n }\n\n return new Ok(okResult);\n }\n\n Result.all = all;\n /**\n * Parse a set of `Result`s, short-circuits when an input value is `Ok`.\n * If no `Ok` is found, returns an `Err` containing the collected error values\n */\n\n function any() {\n var results = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n results[_i] = arguments[_i];\n }\n\n var errResult = []; // short-circuits\n\n for (var _a = 0, results_2 = results; _a < results_2.length; _a++) {\n var result = results_2[_a];\n\n if (result.ok) {\n return result;\n } else {\n errResult.push(result.val);\n }\n } // it must be a Err\n\n\n return new Err(errResult);\n }\n\n Result.any = any;\n /**\n * Wrap an operation that may throw an Error (`try-catch` style) into checked exception style\n * @param op The operation function\n */\n\n function wrap(op) {\n try {\n return new Ok(op());\n } catch (e) {\n return new Err(e);\n }\n }\n\n Result.wrap = wrap;\n /**\n * Wrap an async operation that may throw an Error (`try-catch` style) into checked exception style\n * @param op The operation function\n */\n\n function wrapAsync(op) {\n try {\n return op().then(function (val) {\n return new Ok(val);\n })[\"catch\"](function (e) {\n return new Err(e);\n });\n } catch (e) {\n return Promise.resolve(new Err(e));\n }\n }\n\n Result.wrapAsync = wrapAsync;\n\n function isResult(val) {\n return val instanceof Err || val instanceof Ok;\n }\n\n Result.isResult = isResult;\n})(Result || (Result = {}));","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","var baseToString = require('./_baseToString');\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\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","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar symbolTag = '[object Symbol]';\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","export * from './Portal';\nexport * from './PortalDialog';\n","import React, { FC } from 'react';\nimport ReactDOM from 'react-dom';\n\nexport interface PortalProps {\n children: React.ReactNode | React.ReactElement;\n rootEl: HTMLElement;\n className?: string;\n el?: string;\n}\n\nexport const Portal: FC = (props) => {\n const { children, rootEl, className, el = 'div' } = props;\n\n const [container] = React.useState(document.createElement(el));\n\n if (className !== undefined) {\n container.classList.add(...className.split(' '));\n }\n\n React.useEffect(() => {\n rootEl.appendChild(container);\n return () => {\n rootEl.removeChild(container);\n };\n }, [container, rootEl]);\n\n return ReactDOM.createPortal(children, container);\n};\n","export { Modal } from './Modal';\n","import React, { FC } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { dailyreportState, useDRDispatch } from '@/store/dailyreports/atom';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport { Arigatona, Work, TimeAlias } from '@/interface';\nimport DailyReportTimespanWorksFormDraftContainer from './DailyReportTimespanWorksFormDraftContainer';\n\nconst dialogMessage = `本日の日報を提出しますか?\n変更する方は編集画面からおこなってください`;\n\ninterface WorkDayProps {\n dailyReportPersisted: boolean;\n}\n\nexport interface DailyReportTimespanContainerProps extends WorkDayProps {\n dailyReportWorks: Work[];\n dailyReportArigatona: Arigatona;\n thunksComment: string | null;\n memo: string | null;\n timespanInfo: Array;\n}\n\nconst DailyReportTimespanContainer: FC = (\n props,\n) => {\n const {\n dailyReportPersisted,\n\n dailyReportWorks,\n\n dailyReportArigatona,\n thunksComment,\n memo,\n timespanInfo,\n } = props;\n\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n\n return (\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\nexport default DailyReportTimespanContainer;\n","import React, { FC, useMemo, Dispatch } from 'react';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport cx from 'classnames';\nimport { WorkProperty, WorkContent, Work, TimeAlias } from '@/interface';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkEntity } from '@/components/WorkEntity';\nimport { PortalDialog } from '@/components/Portal';\nimport { Modal } from '@/components/Modal';\nimport { WorkFormForTimespan } from './WorkFormForTimespan';\nimport { WorkForm } from './WorkForm';\nimport { State, Action } from './state';\n\nconst I18n = {\n overtime: {\n title: '残業',\n add: '残業時間を追加',\n modal: {\n title: '残業情報を追加してください',\n cancel: 'キャンセル',\n submit: '追加',\n },\n },\n};\n\nexport interface IDailyReportWorksForm {\n workContents: WorkContent[];\n workContentOptions: Array;\n workProperties: WorkProperty[];\n workPropertyOptions: Array;\n handleChangeNewWork: (idx: number | null, work: Work) => void;\n handleDelete: (index: number) => void;\n timespanInfo: Array;\n state: State;\n dispatch: Dispatch;\n}\n\nconst DailyReportTimespanWorksForm: FC = ({\n workContents,\n workContentOptions,\n workProperties,\n workPropertyOptions,\n handleChangeNewWork,\n handleDelete,\n timespanInfo,\n state,\n dispatch,\n}) => {\n const { works } = state;\n\n const setShowModal = (value) => {\n dispatch({ type: 'MODAL', payload: value });\n };\n\n const setOvertimeWork = (value) => {\n dispatch({ type: 'OVERTIME', payload: value });\n };\n\n const handleProperty =\n (idx: number, work: Work | null) => (value: WorkProperty | null) => {\n const workProperty = value === null ? null : value;\n handleChangeNewWork(idx, {\n ...work,\n workProperty,\n });\n };\n\n const handleContent =\n (idx: number, work: Work) => (value: WorkContent | null) => {\n const workContent = value === null ? null : value;\n handleChangeNewWork(idx, {\n ...work,\n workContent,\n });\n };\n\n const worksOffset = useMemo(() => timespanInfo.length, [timespanInfo]);\n\n return (\n <>\n {timespanInfo.map((tinfo, idx) => (\n
\n \n
\n ))}\n\n
\n {I18n.overtime.title}\n
\n\n {works\n .slice(worksOffset)\n .map((work, idx) =>\n work === null ? null : (\n \n ),\n )}\n\n \n setShowModal(true)}\n >\n \n {I18n.overtime.add}\n \n \n\n \n \n
\n \n );\n};\n\nexport default DailyReportTimespanWorksForm;\n","import validate from 'validate.js';\nimport { isValidWork } from '@/utils/isValidWork';\nimport { isTimePeriodValid, isNoOverlapValid } from '@/validators';\nimport { Work } from '@/interface';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Action = { type: string; payload?: any };\n\nexport interface State {\n showModal: boolean;\n overtimeWork: Work | null;\n works: Array;\n}\n\nconst constraints = {\n workProperty: {\n presence: true,\n },\n workContent: {\n presence: true,\n },\n startAt: {\n presence: true,\n },\n endAt: {\n presence: true,\n },\n};\n\nconst nonNull = (items: Array) => items.filter((item) => item !== null);\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'MODAL':\n return { ...state, showModal: action.payload };\n case 'OVERTIME':\n return { ...state, overtimeWork: action.payload };\n case 'ADD_OVERTIME': {\n const { works, overtimeWork } = state;\n const ret = validate.validate(overtimeWork, constraints);\n if (ret !== undefined) {\n return { ...state };\n }\n\n const x = isValidWork(overtimeWork);\n const y = isTimePeriodValid(overtimeWork);\n const z = isNoOverlapValid(nonNull(works), overtimeWork);\n if (x && y && z[0]) {\n return {\n ...state,\n showModal: false,\n overtimeWork: null,\n works: [...works, overtimeWork],\n };\n }\n return { ...state };\n }\n case 'SET_WORKS':\n return { ...state, works: action.payload.works };\n default:\n break;\n }\n return { ...state };\n};\n","import { Work, TimeAlias } from '@/interface';\n\nconst eqTimespan = (time: TimeAlias, work: Work) => {\n if (time.startAt === work.startAt && time.endAt === work.endAt) {\n return true;\n }\n\n return false;\n};\n\nexport const getWorks4Timespan = (\n works: Array,\n timespanInfo: Array,\n): Array => {\n if (works.length === 0) {\n return timespanInfo.map(() => null);\n }\n\n if (works.length >= timespanInfo.length) {\n return works;\n }\n\n return timespanInfo.map((time) => {\n const work = works.find((item) => eqTimespan(time, item));\n if (work) {\n return work;\n }\n\n return null;\n });\n};\n","import React, {\n useState,\n forwardRef,\n useEffect,\n useCallback,\n MutableRefObject,\n ChangeEvent,\n} from 'react';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport type { Work, NewWorkWithWorking, WorkContent } from '@/interface';\nimport { isWork } from '@/utils';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkItemCascader } from '@/components/form/dailyReport/workProperty';\n\ntype WorkFormTypeCProps = {\n delimiter: string;\n workContentOptions: Array;\n workContents: Array;\n work: Work | NewWorkWithWorking;\n};\n\ntype WorkFormTypeCRefObject = {\n getWork: () => Work | NewWorkWithWorking;\n};\n\nconst useWorkFormTypeC = ({ work }: { work: Work | NewWorkWithWorking }) => {\n const [newWork, setNewWork] = useState(work);\n\n const handleChange = useCallback(\n (value: { id: number; name: string } | null) => {\n setNewWork((prev) => ({\n ...prev,\n workContent: value as WorkContent,\n }));\n },\n [setNewWork],\n );\n\n const handleChangeStartAt = useCallback(\n (event: ChangeEvent) => {\n event.persist();\n if (event?.type === 'change' && event.target && event.target.value) {\n setNewWork((prev) => ({\n ...prev,\n startAt: event.target.value,\n }));\n }\n },\n [setNewWork],\n );\n\n const handleChangeEndAt = useCallback(\n (event: ChangeEvent) => {\n event.persist();\n if (event?.type === 'change' && event?.target?.value) {\n setNewWork((prev) => ({\n ...prev,\n endAt: event.target.value,\n }));\n }\n },\n [setNewWork],\n );\n\n return { newWork, handleChange, handleChangeStartAt, handleChangeEndAt };\n};\n\nexport const WorkFormTypeC = forwardRef<\n WorkFormTypeCRefObject,\n WorkFormTypeCProps\n>((props, ref) => {\n const { delimiter, workContentOptions, workContents, work } = props;\n const { newWork, handleChange, handleChangeStartAt, handleChangeEndAt } =\n useWorkFormTypeC({ work });\n\n useEffect(() => {\n if (!ref) {\n return;\n }\n\n // eslint-disable-next-line no-param-reassign\n (ref as MutableRefObject).current = {\n getWork: () => newWork,\n };\n }, [ref, newWork]);\n\n return (\n <>\n {!(newWork?.type === 'breaktime') && (\n \n \n \n )}\n\n \n \n \n\n {isWork(newWork) && (\n \n \n \n )}\n \n );\n});\n","import React, {\n useState,\n forwardRef,\n useEffect,\n useCallback,\n MutableRefObject,\n ChangeEvent,\n} from 'react';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport type { Work, NewWorkWithWorking, WorkContent } from '@/interface';\nimport { isWork } from '@/utils';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkItemCascader } from '@/components/form/dailyReport/workProperty';\nimport { Stepper } from 'antd-mobile';\n\ntype WorkFormTypeDProps = {\n delimiter: string;\n workContentOptions: Array;\n workContents: Array;\n work: Work | NewWorkWithWorking;\n};\n\ntype WorkFormTypeDRefObject = {\n getWork: () => Work | NewWorkWithWorking;\n};\n\nconst useWorkFormTypeD = ({ work }: { work: Work | NewWorkWithWorking }) => {\n const [newWork, setNewWork] = useState(work);\n\n const handleChange = useCallback(\n (value: { id: number; name: string } | null) => {\n setNewWork((prev) => ({\n ...prev,\n workContent: value as WorkContent,\n }));\n },\n [setNewWork],\n );\n\n const handleChangeStartAt = useCallback(\n (event: ChangeEvent) => {\n event.persist();\n if (event?.type === 'change' && event.target && event.target.value) {\n setNewWork((prev) => ({\n ...prev,\n startAt: event.target.value,\n }));\n }\n },\n [setNewWork],\n );\n\n const handleChangeEndAt = useCallback(\n (event: ChangeEvent) => {\n event.persist();\n if (event?.type === 'change' && event?.target?.value) {\n setNewWork((prev) => ({\n ...prev,\n endAt: event.target.value,\n }));\n }\n },\n [setNewWork],\n );\n\n const handleChangeQuantity = useCallback(\n (value) => {\n const parsedQuantity = parseFloat(value);\n if (!Number.isNaN(parsedQuantity)) {\n setNewWork((prev) => ({\n ...prev,\n quantity: parsedQuantity,\n }));\n }\n },\n [setNewWork],\n );\n\n return { newWork, handleChange, handleChangeStartAt, handleChangeEndAt, handleChangeQuantity };\n};\n\nexport const WorkFormTypeD = forwardRef<\n WorkFormTypeDRefObject,\n WorkFormTypeDProps\n>((props, ref) => {\n const { delimiter, workContentOptions, workContents, work } = props;\n const { newWork, handleChange, handleChangeStartAt, handleChangeEndAt, handleChangeQuantity } =\n useWorkFormTypeD({ work });\n\n useEffect(() => {\n if (!ref) {\n return;\n }\n\n // eslint-disable-next-line no-param-reassign\n (ref as MutableRefObject).current = {\n getWork: () => newWork,\n };\n }, [ref, newWork]);\n\n return (\n <>\n {!(newWork?.type === 'breaktime') && (\n \n \n \n )}\n\n \n \n \n\n {isWork(newWork) && (\n \n \n \n )}\n\n \n \n \n \n );\n});\n","import React, { FC } from 'react';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport type { Work, WorkProperty, WorkContent } from '@/interface';\nimport { WorkEntity, WorkEntityEmpty } from '@/components/WorkEntity';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkForm } from '@/components/WorkForm';\n\nexport interface IDailyReportWorksForm {\n workContents: WorkContent[];\n workContentOptions: Array;\n workProperties: WorkProperty[];\n workPropertyOptions: Array;\n workDetails: WorkContent[];\n amount: number;\n works: Work[];\n newWork: Work | null;\n handleChangeNewWork: (work: Work) => void;\n addEnable: boolean;\n handleAdd: () => void; // FIXME\n handleDelete: (index: number) => void;\n}\n\nexport const DailyReportWorksForm: FC = (props) => {\n const {\n workContents,\n workContentOptions,\n workProperties,\n workPropertyOptions,\n workDetails,\n works,\n newWork,\n handleChangeNewWork,\n addEnable,\n handleAdd,\n handleDelete,\n } = props;\n\n return (\n <>\n \n \n \n 追加\n \n \n {works.length === 0 ? (\n \n ) : (\n works.map((work, index) => (\n \n ))\n )}\n \n );\n};\n","import React, { FC } from 'react';\nimport { List, Empty, Space } from 'antd-mobile';\nimport { EditSFill, MinusCircleOutline } from 'antd-mobile-icons';\nimport type { Work } from '@/interface';\n\ntype WorkContentListProps = {\n works: Array;\n onClickEdit: (index: number, work: Work) => void;\n onClickDelete: (index: number, work: Work) => void;\n};\n\nexport const WorkContentList: FC = ({\n works,\n onClickEdit,\n onClickDelete,\n}) => (\n \n {works.length === 0 && (\n \n \n \n )}\n {works.map((work, idx) => (\n \n onClickDelete(idx, work)}\n />\n \n }\n extra={\n \n }\n >\n \n
\n
{work.startAt}〜
\n
{work.endAt}
\n
\n
{work.workContent.name}
\n
\n \n ))}\n
\n);\n","import React, { FC } from 'react';\n\n// バックエンドが必要なため、Dummy用\nexport const ThunksWithHidden: FC = () => (\n <>\n undefined}\n />\n undefined}\n />\n \n);\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n */\n\n\nvar sortBy = baseRest(function (collection, iteratees) {\n if (collection == null) {\n return [];\n }\n\n var length = iteratees.length;\n\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\nmodule.exports = sortBy;","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {};\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('='); // skip things that don't look like key=value\n\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim();\n var val = pair.substr(++eq_idx, pair.length).trim(); // quoted values\n\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n } // only assign once\n\n\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid');\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n\n case 'lax':\n str += '; SameSite=Lax';\n break;\n\n case 'strict':\n str += '; SameSite=Strict';\n break;\n\n case 'none':\n str += '; SameSite=None';\n break;\n\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n\n\nfunction uniqBy(array, iteratee) {\n return array && array.length ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;","var createRange = require('./_createRange');\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\n\n\nvar range = createRange();\nmodule.exports = range;","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (_typeof(interpolation)) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (_typeof(value) !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\n\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && _typeof(args[0]) === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar symbolTag = '[object Symbol]';\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;","import {\n State as S1,\n Action,\n reducer as baseReducer,\n} from '@/components/DailyReportViewTypeB/state';\nimport { User } from '@/interface';\n\nexport interface State extends S1 {\n selectedUsers: Array;\n}\n\nexport const defaultState: State = {\n showModal: false,\n overtimeWork: null,\n works: [],\n selectedUsers: [],\n};\n\nexport const reducer = (state: State, action: Action): State => {\n const newState = baseReducer(state, action);\n\n switch (action.type) {\n case 'SET_EMPLOYEES':\n return { ...newState, selectedUsers: action.payload };\n default:\n break;\n }\n\n return { ...state, ...newState };\n};\n","var e = \"-ms-\";\nvar r = \"-moz-\";\nvar a = \"-webkit-\";\nvar c = \"comm\";\nvar n = \"rule\";\nvar t = \"decl\";\nvar s = \"@page\";\nvar u = \"@media\";\nvar i = \"@import\";\nvar f = \"@charset\";\nvar o = \"@viewport\";\nvar l = \"@supports\";\nvar v = \"@document\";\nvar h = \"@namespace\";\nvar p = \"@keyframes\";\nvar b = \"@font-face\";\nvar w = \"@counter-style\";\nvar $ = \"@font-feature-values\";\nvar k = Math.abs;\nvar d = String.fromCharCode;\n\nfunction m(e, r) {\n return (((r << 2 ^ z(e, 0)) << 2 ^ z(e, 1)) << 2 ^ z(e, 2)) << 2 ^ z(e, 3);\n}\n\nfunction g(e) {\n return e.trim();\n}\n\nfunction x(e, r) {\n return (e = r.exec(e)) ? e[0] : e;\n}\n\nfunction y(e, r, a) {\n return e.replace(r, a);\n}\n\nfunction j(e, r) {\n return e.indexOf(r);\n}\n\nfunction z(e, r) {\n return e.charCodeAt(r) | 0;\n}\n\nfunction C(e, r, a) {\n return e.slice(r, a);\n}\n\nfunction A(e) {\n return e.length;\n}\n\nfunction M(e) {\n return e.length;\n}\n\nfunction O(e, r) {\n return r.push(e), e;\n}\n\nfunction S(e, r) {\n return e.map(r).join(\"\");\n}\n\nvar q = 1;\nvar B = 1;\nvar D = 0;\nvar E = 0;\nvar F = 0;\nvar G = \"\";\n\nfunction H(e, r, a, c, n, t, s) {\n return {\n value: e,\n root: r,\n parent: a,\n type: c,\n props: n,\n children: t,\n line: q,\n column: B,\n length: s,\n \"return\": \"\"\n };\n}\n\nfunction I(e, r, a) {\n return H(e, r.root, r.parent, a, r.props, r.children, 0);\n}\n\nfunction J() {\n return F;\n}\n\nfunction K() {\n F = E > 0 ? z(G, --E) : 0;\n if (B--, F === 10) B = 1, q--;\n return F;\n}\n\nfunction L() {\n F = E < D ? z(G, E++) : 0;\n if (B++, F === 10) B = 1, q++;\n return F;\n}\n\nfunction N() {\n return z(G, E);\n}\n\nfunction P() {\n return E;\n}\n\nfunction Q(e, r) {\n return C(G, e, r);\n}\n\nfunction R(e) {\n switch (e) {\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126:\n case 59:\n case 123:\n case 125:\n return 4;\n\n case 58:\n return 3;\n\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n\n case 41:\n case 93:\n return 1;\n }\n\n return 0;\n}\n\nfunction T(e) {\n return q = B = 1, D = A(G = e), E = 0, [];\n}\n\nfunction U(e) {\n return G = \"\", e;\n}\n\nfunction V(e) {\n return g(Q(E - 1, _(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));\n}\n\nfunction W(e) {\n return U(Y(T(e)));\n}\n\nfunction X(e) {\n while (F = N()) {\n if (F < 33) L();else break;\n }\n\n return R(e) > 2 || R(F) > 3 ? \"\" : \" \";\n}\n\nfunction Y(e) {\n while (L()) {\n switch (R(F)) {\n case 0:\n O(re(E - 1), e);\n break;\n\n case 2:\n O(V(F), e);\n break;\n\n default:\n O(d(F), e);\n }\n }\n\n return e;\n}\n\nfunction Z(e, r) {\n while (--r && L()) {\n if (F < 48 || F > 102 || F > 57 && F < 65 || F > 70 && F < 97) break;\n }\n\n return Q(e, P() + (r < 6 && N() == 32 && L() == 32));\n}\n\nfunction _(e) {\n while (L()) {\n switch (F) {\n case e:\n return E;\n\n case 34:\n case 39:\n return _(e === 34 || e === 39 ? e : F);\n\n case 40:\n if (e === 41) _(e);\n break;\n\n case 92:\n L();\n break;\n }\n }\n\n return E;\n}\n\nfunction ee(e, r) {\n while (L()) {\n if (e + F === 47 + 10) break;else if (e + F === 42 + 42 && N() === 47) break;\n }\n\n return \"/*\" + Q(r, E - 1) + \"*\" + d(e === 47 ? e : L());\n}\n\nfunction re(e) {\n while (!R(N())) {\n L();\n }\n\n return Q(e, E);\n}\n\nfunction ae(e) {\n return U(ce(\"\", null, null, null, [\"\"], e = T(e), 0, [0], e));\n}\n\nfunction ce(e, r, a, c, n, t, s, u, i) {\n var f = 0;\n var o = 0;\n var l = s;\n var v = 0;\n var h = 0;\n var p = 0;\n var b = 1;\n var w = 1;\n var $ = 1;\n var k = 0;\n var m = \"\";\n var g = n;\n var x = t;\n var j = c;\n var z = m;\n\n while (w) {\n switch (p = k, k = L()) {\n case 34:\n case 39:\n case 91:\n case 40:\n z += V(k);\n break;\n\n case 9:\n case 10:\n case 13:\n case 32:\n z += X(p);\n break;\n\n case 92:\n z += Z(P() - 1, 7);\n continue;\n\n case 47:\n switch (N()) {\n case 42:\n case 47:\n O(te(ee(L(), P()), r, a), i);\n break;\n\n default:\n z += \"/\";\n }\n\n break;\n\n case 123 * b:\n u[f++] = A(z) * $;\n\n case 125 * b:\n case 59:\n case 0:\n switch (k) {\n case 0:\n case 125:\n w = 0;\n\n case 59 + o:\n if (h > 0 && A(z) - l) O(h > 32 ? se(z + \";\", c, a, l - 1) : se(y(z, \" \", \"\") + \";\", c, a, l - 2), i);\n break;\n\n case 59:\n z += \";\";\n\n default:\n O(j = ne(z, r, a, f, o, n, u, m, g = [], x = [], l), t);\n if (k === 123) if (o === 0) ce(z, r, j, j, g, t, l, u, x);else switch (v) {\n case 100:\n case 109:\n case 115:\n ce(e, j, j, c && O(ne(e, j, j, 0, 0, n, u, m, n, g = [], l), x), n, x, l, u, c ? g : x);\n break;\n\n default:\n ce(z, j, j, j, [\"\"], x, l, u, x);\n }\n }\n\n f = o = h = 0, b = $ = 1, m = z = \"\", l = s;\n break;\n\n case 58:\n l = 1 + A(z), h = p;\n\n default:\n if (b < 1) if (k == 123) --b;else if (k == 125 && b++ == 0 && K() == 125) continue;\n\n switch (z += d(k), k * b) {\n case 38:\n $ = o > 0 ? 1 : (z += \"\\f\", -1);\n break;\n\n case 44:\n u[f++] = (A(z) - 1) * $, $ = 1;\n break;\n\n case 64:\n if (N() === 45) z += V(L());\n v = N(), o = A(m = z += re(P())), k++;\n break;\n\n case 45:\n if (p === 45 && A(z) == 2) b = 0;\n }\n\n }\n }\n\n return t;\n}\n\nfunction ne(e, r, a, c, t, s, u, i, f, o, l) {\n var v = t - 1;\n var h = t === 0 ? s : [\"\"];\n var p = M(h);\n\n for (var b = 0, w = 0, $ = 0; b < c; ++b) {\n for (var d = 0, m = C(e, v + 1, v = k(w = u[b])), x = e; d < p; ++d) {\n if (x = g(w > 0 ? h[d] + \" \" + m : y(m, /&\\f/g, h[d]))) f[$++] = x;\n }\n }\n\n return H(e, r, a, t === 0 ? n : i, f, o, l);\n}\n\nfunction te(e, r, a) {\n return H(e, r, a, c, d(J()), C(e, 2, -2), 0);\n}\n\nfunction se(e, r, a, c) {\n return H(e, r, a, t, C(e, 0, c), C(e, c + 1, -1), c);\n}\n\nfunction ue(c, n) {\n switch (m(c, n)) {\n case 5103:\n return a + \"print-\" + c + c;\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921:\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005:\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855:\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return a + c + c;\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return a + c + r + c + e + c + c;\n\n case 6828:\n case 4268:\n return a + c + e + c + c;\n\n case 6165:\n return a + c + e + \"flex-\" + c + c;\n\n case 5187:\n return a + c + y(c, /(\\w+).+(:[^]+)/, a + \"box-$1$2\" + e + \"flex-$1$2\") + c;\n\n case 5443:\n return a + c + e + \"flex-item-\" + y(c, /flex-|-self/, \"\") + c;\n\n case 4675:\n return a + c + e + \"flex-line-pack\" + y(c, /align-content|flex-|-self/, \"\") + c;\n\n case 5548:\n return a + c + e + y(c, \"shrink\", \"negative\") + c;\n\n case 5292:\n return a + c + e + y(c, \"basis\", \"preferred-size\") + c;\n\n case 6060:\n return a + \"box-\" + y(c, \"-grow\", \"\") + a + c + e + y(c, \"grow\", \"positive\") + c;\n\n case 4554:\n return a + y(c, /([^-])(transform)/g, \"$1\" + a + \"$2\") + c;\n\n case 6187:\n return y(y(y(c, /(zoom-|grab)/, a + \"$1\"), /(image-set)/, a + \"$1\"), c, \"\") + c;\n\n case 5495:\n case 3959:\n return y(c, /(image-set\\([^]*)/, a + \"$1\" + \"$`$1\");\n\n case 4968:\n return y(y(c, /(.+:)(flex-)?(.*)/, a + \"box-pack:$3\" + e + \"flex-pack:$3\"), /s.+-b[^;]+/, \"justify\") + a + c + c;\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return y(c, /(.+)-inline(.+)/, a + \"$1$2\") + c;\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n if (A(c) - 1 - n > 6) switch (z(c, n + 1)) {\n case 109:\n if (z(c, n + 4) !== 45) break;\n\n case 102:\n return y(c, /(.+:)(.+)-([^]+)/, \"$1\" + a + \"$2-$3\" + \"$1\" + r + (z(c, n + 3) == 108 ? \"$3\" : \"$2-$3\")) + c;\n\n case 115:\n return ~j(c, \"stretch\") ? ue(y(c, \"stretch\", \"fill-available\"), n) + c : c;\n }\n break;\n\n case 4949:\n if (z(c, n + 1) !== 115) break;\n\n case 6444:\n switch (z(c, A(c) - 3 - (~j(c, \"!important\") && 10))) {\n case 107:\n return y(c, \":\", \":\" + a) + c;\n\n case 101:\n return y(c, /(.+:)([^;!]+)(;|!.+)?/, \"$1\" + a + (z(c, 14) === 45 ? \"inline-\" : \"\") + \"box$3\" + \"$1\" + a + \"$2$3\" + \"$1\" + e + \"$2box$3\") + c;\n }\n\n break;\n\n case 5936:\n switch (z(c, n + 11)) {\n case 114:\n return a + c + e + y(c, /[svh]\\w+-[tblr]{2}/, \"tb\") + c;\n\n case 108:\n return a + c + e + y(c, /[svh]\\w+-[tblr]{2}/, \"tb-rl\") + c;\n\n case 45:\n return a + c + e + y(c, /[svh]\\w+-[tblr]{2}/, \"lr\") + c;\n }\n\n return a + c + e + c + c;\n }\n\n return c;\n}\n\nfunction ie(e, r) {\n var a = \"\";\n var c = M(e);\n\n for (var n = 0; n < c; n++) {\n a += r(e[n], n, e, r) || \"\";\n }\n\n return a;\n}\n\nfunction fe(e, r, a, s) {\n switch (e.type) {\n case i:\n case t:\n return e[\"return\"] = e[\"return\"] || e.value;\n\n case c:\n return \"\";\n\n case n:\n e.value = e.props.join(\",\");\n }\n\n return A(a = ie(e.children, s)) ? e[\"return\"] = e.value + \"{\" + a + \"}\" : \"\";\n}\n\nfunction oe(e) {\n var r = M(e);\n return function (a, c, n, t) {\n var s = \"\";\n\n for (var u = 0; u < r; u++) {\n s += e[u](a, c, n, t) || \"\";\n }\n\n return s;\n };\n}\n\nfunction le(e) {\n return function (r) {\n if (!r.root) if (r = r[\"return\"]) e(r);\n };\n}\n\nfunction ve(c, s, u, i) {\n if (!c[\"return\"]) switch (c.type) {\n case t:\n c[\"return\"] = ue(c.value, c.length);\n break;\n\n case p:\n return ie([I(y(c.value, \"@\", \"@\" + a), c, \"\")], i);\n\n case n:\n if (c.length) return S(c.props, function (n) {\n switch (x(n, /(::plac\\w+|:read-\\w+)/)) {\n case \":read-only\":\n case \":read-write\":\n return ie([I(y(n, /:(read-\\w+)/, \":\" + r + \"$1\"), c, \"\")], i);\n\n case \"::placeholder\":\n return ie([I(y(n, /:(plac\\w+)/, \":\" + a + \"input-$1\"), c, \"\"), I(y(n, /:(plac\\w+)/, \":\" + r + \"$1\"), c, \"\"), I(y(n, /:(plac\\w+)/, e + \"input-$1\"), c, \"\")], i);\n }\n\n return \"\";\n });\n }\n}\n\nfunction he(e) {\n switch (e.type) {\n case n:\n e.props = e.props.map(function (r) {\n return S(W(r), function (r, a, c) {\n switch (z(r, 0)) {\n case 12:\n return C(r, 1, A(r));\n\n case 0:\n case 40:\n case 43:\n case 62:\n case 126:\n return r;\n\n case 58:\n if (c[++a] === \"global\") c[a] = \"\", c[++a] = \"\\f\" + C(c[a], a = 1, -1);\n\n case 32:\n return a === 1 ? \"\" : r;\n\n default:\n switch (a) {\n case 0:\n e = r;\n return M(c) > 1 ? \"\" : r;\n\n case a = M(c) - 1:\n case 2:\n return a === 2 ? r + e + e : r + e;\n\n default:\n return r;\n }\n\n }\n });\n });\n }\n}\n\nexport { f as CHARSET, c as COMMENT, w as COUNTER_STYLE, t as DECLARATION, v as DOCUMENT, b as FONT_FACE, $ as FONT_FEATURE_VALUES, i as IMPORT, p as KEYFRAMES, u as MEDIA, r as MOZ, e as MS, h as NAMESPACE, s as PAGE, n as RULESET, l as SUPPORTS, o as VIEWPORT, a as WEBKIT, k as abs, T as alloc, O as append, P as caret, J as char, F as character, G as characters, z as charat, B as column, S as combine, te as comment, ee as commenter, ae as compile, I as copy, U as dealloc, se as declaration, V as delimit, _ as delimiter, Z as escaping, d as from, m as hash, re as identifier, j as indexof, D as length, q as line, x as match, oe as middleware, he as namespace, L as next, H as node, ce as parse, N as peek, E as position, ue as prefix, ve as prefixer, K as prev, y as replace, ne as ruleset, le as rulesheet, ie as serialize, M as sizeof, Q as slice, fe as stringify, A as strlen, C as substr, R as token, W as tokenize, Y as tokenizer, g as trim, X as whitespace };","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, identifier, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifier(position - 1);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\n\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not\n !element.length) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\n\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n {\n container = options.container || document.head;\n Array.prototype.forEach.call(document.querySelectorAll(\"style[data-emotion]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n if (attrib[0] !== key) {\n return;\n } // $FlowFixMe\n\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;","var isNumber = require('./isNumber');\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n\n\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\n\n\nfunction max(array) {\n return array && array.length ? baseExtremum(array, identity, baseGt) : undefined;\n}\n\nmodule.exports = max;","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\n\n\nfunction min(array) {\n return array && array.length ? baseExtremum(array, identity, baseLt) : undefined;\n}\n\nmodule.exports = min;","import React, { FC } from 'react';\nimport { Portal } from './Portal';\n\nexport interface PortalDialogProps {\n children: React.ReactNode | React.ReactElement;\n className?: string;\n el?: string;\n}\n\nexport const PortalDialog: FC = (props) => {\n const { children, className, el } = props;\n\n const modalRoot = document.getElementById('modal-root') || document.body;\n\n return (\n \n {children}\n \n );\n};\n","import React, { FC } from 'react';\nimport cx from 'classnames';\n\ninterface Lang {\n overtime: {\n modal: {\n title: string;\n cancel: string;\n submit: string;\n };\n };\n}\n\ninterface ModalProps {\n I18n: Lang;\n hidden: boolean;\n body: React.Component;\n onCancel: () => void;\n onSubmit: () => void;\n}\n\nexport const Modal: FC = ({\n I18n,\n hidden,\n body,\n onCancel,\n onSubmit,\n}) => (\n \n
\n
\n

\n {I18n.overtime.modal.title}\n

\n
\n\n
\n {body}\n
\n\n
\n \n {I18n.overtime.modal.cancel}\n

\n \n {I18n.overtime.modal.submit}\n \n
\n
\n \n);\n","import React, { FC } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport Select from 'react-select';\nimport { dailyreportsFilterOption } from '@/store/dailyreports-configure';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\nimport { WorkProperty, Work } from '@/interface';\n\ntype WorkPropertySelectProps = {\n workProperties: Array;\n newWork: Work;\n onChange: (work: Work) => void;\n};\n\nexport const WorkPropertySelect: FC = ({\n workProperties,\n newWork,\n onChange,\n}) => {\n const { projectFilterOption } = useRecoilValue(dailyreportsFilterOption);\n\n return (\n option.name}\n getOptionLabelValue={(option) => option.id}\n isOptionSelected={(target) => newWork?.workProperty?.id === target.id}\n value={newWork?.workProperty}\n onChange={(target) => {\n const workProperty =\n target === null ? null : { id: target.id, name: target.name };\n onChange({\n ...newWork,\n workProperty,\n });\n }}\n placeholder=\"案件を選択してください...\"\n noOptionsMessage={() => '案件が見つかりません'}\n theme={reactSelectStyle}\n isClearable\n isSearchable\n filterOption={projectFilterOption}\n />\n );\n};\n","import React, { FC, useMemo, useState } from 'react';\nimport type {\n CascaderValue,\n CascaderOption,\n} from 'antd-mobile/es/components/cascader';\nimport { Cascader } from '@/components/form/dailyReport/Cascader';\nimport { WorkProperty, Work } from '@/interface';\nimport { findCascaderValue, makeCascaderDefaultValue } from '@/utils/cascader';\n\ntype WorkPropertyCascaderProps = {\n delimiter: string;\n options: Array;\n workProperties: Array;\n newWork: { workProperty: WorkProperty | null };\n onChange: (work: Work) => void;\n};\n\nexport const WorkPropertyCascader: FC = ({\n delimiter,\n options,\n workProperties,\n newWork,\n onChange,\n}) => {\n const defaultValue = makeCascaderDefaultValue(\n newWork?.workProperty,\n delimiter,\n );\n\n const [workProperty, setWorkProperty] =\n useState>(defaultValue);\n\n const valueLabel = useMemo(\n () =>\n findCascaderValue(workProperties, workProperty)\n .map((wp) => wp.name)\n .unwrapOr(null),\n [workProperties, workProperty],\n );\n\n return (\n {\n setWorkProperty(value);\n const ret = findCascaderValue(workProperties, value).unwrapOr(null);\n onChange({\n ...newWork,\n workProperty: ret,\n });\n }}\n />\n );\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","var getNative = require('./_getNative');\n/* Built-in method references that are verified to be native. */\n\n\nvar nativeCreate = getNative(Object, 'create');\nmodule.exports = nativeCreate;","var eq = require('./eq');\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n\nmodule.exports = assocIndexOf;","var isKeyable = require('./_isKeyable');\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;","import React, { FC } from 'react';\nimport { useRecoilValue, RecoilValueReadOnly } from 'recoil';\nimport Select from 'react-select';\nimport { DailyreportsFilterOption } from '@/store/dailyreports-configure';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\n\ntype WorkItemSelectProps = {\n options: Array<{ id: number; name: string }>;\n value: { id: number; name: string } | null;\n onChange: (value: { id: number; name: string }) => void;\n recoilValue: RecoilValueReadOnly;\n recoilValueKey: keyof DailyreportsFilterOption;\n placeholder?: string;\n noOptionsMessage?: () => string;\n};\n\nexport const WorkItemSelect: FC = ({\n options,\n value,\n onChange,\n recoilValue,\n recoilValueKey,\n placeholder,\n noOptionsMessage,\n}) => {\n const filterOptions = useRecoilValue(recoilValue);\n\n return (\n option.name}\n getOptionLabelValue={(option) => option.id}\n isOptionSelected={(target) => value?.id === target.id}\n value={value}\n onChange={onChange}\n placeholder={placeholder}\n noOptionsMessage={noOptionsMessage}\n theme={reactSelectStyle}\n isClearable\n isSearchable\n filterOption={filterOptions[recoilValueKey]}\n />\n );\n};\n","import React, { FC, useState, useMemo, useEffect } from 'react';\nimport type {\n CascaderValue,\n CascaderOption,\n} from 'antd-mobile/es/components/cascader';\nimport { Cascader } from '@/components/form/dailyReport/Cascader';\nimport { findCascaderValue, makeCascaderDefaultValue } from '@/utils/cascader';\n\ntype WorkItemCascaderProps = {\n delimiter: string;\n options: Array;\n items: Array<{ id: number; name: string }>;\n value: { id: number; name: string } | null;\n onChange: (value: { id: number; name: string } | null) => void;\n title?: string;\n placeholder?: string;\n valueLabelOr?: string;\n};\n\nexport const WorkItemCascader: FC = ({\n delimiter,\n options,\n items,\n value,\n onChange,\n title,\n placeholder,\n valueLabelOr,\n}) => {\n const [item, setItem] = useState>(() =>\n makeCascaderDefaultValue(value, delimiter),\n );\n const valueLabel = useMemo(\n () =>\n findCascaderValue(items, item)\n .map((wp) => wp.name)\n .unwrapOr(null),\n [items, item],\n );\n\n useEffect(() => {\n if (value === null) {\n setItem([]);\n } else {\n setItem(makeCascaderDefaultValue(value, delimiter));\n }\n }, [value]);\n\n return (\n {\n setItem(newValue);\n const ret = findCascaderValue(items, newValue).unwrapOr(null);\n onChange(ret);\n }}\n />\n );\n};\n","import React, { ReactElement } from 'react';\nimport { Tag } from 'antd-mobile';\nimport { I18n } from '@/locales';\n\ntype CheckMarkProps = { ok?: boolean };\n\nexport const CheckMark = ({\n ok,\n}: CheckMarkProps): ReactElement => (\n \n {ok\n ? I18n.t('helpers.state.dr.submitted')\n : I18n.t('helpers.state.dr.not_submitted')}\n \n);\n","var getNative = require('./_getNative');\n/* Built-in method references that are verified to be native. */\n\n\nvar nativeCreate = getNative(Object, 'create');\nmodule.exports = nativeCreate;","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\nmodule.exports = ListCache;","var eq = require('./eq');\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n\nmodule.exports = assocIndexOf;","var isKeyable = require('./_isKeyable');\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;","var isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0;\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n\nmodule.exports = toKey;","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Built-in value references. */\n\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n\nvar isArguments = baseIsArguments(function () {\n return arguments;\n}()) ? baseIsArguments : function (value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n};\nmodule.exports = isArguments;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n\n\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n\n var type = _typeof(index);\n\n if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) {\n return eq(object[index], value);\n }\n\n return false;\n}\n\nmodule.exports = isIterateeCall;","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","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\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","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\nmodule.exports = ListCache;","var eq = require('./eq');\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n\nmodule.exports = assocIndexOf;","var getNative = require('./_getNative');\n/* Built-in method references that are verified to be native. */\n\n\nvar nativeCreate = getNative(Object, 'create');\nmodule.exports = nativeCreate;","var isKeyable = require('./_isKeyable');\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n\n\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;","var isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0;\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n\nmodule.exports = toKey;","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\nmodule.exports = ListCache;","var eq = require('./eq');\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n\nmodule.exports = assocIndexOf;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","var getNative = require('./_getNative');\n/* Built-in method references that are verified to be native. */\n\n\nvar nativeCreate = getNative(Object, 'create');\nmodule.exports = nativeCreate;","var isKeyable = require('./_isKeyable');\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n\nmodule.exports = getMapData;","var isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0;\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n\nmodule.exports = toKey;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n\n\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n\n var type = _typeof(index);\n\n if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) {\n return eq(object[index], value);\n }\n\n return false;\n}\n\nmodule.exports = isIterateeCall;","var isSymbol = require('./isSymbol');\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n\n\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {\n var computed = current,\n result = value;\n }\n }\n\n return result;\n}\n\nmodule.exports = baseExtremum;","import React from 'react';\nimport { useRecoilValue } from 'recoil';\nimport type { Work, Arigatona } from '@/interface';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport {\n dailyreportState,\n useDRDispatch,\n workPropertiesState,\n workPropertiesWithCascadeState,\n workContentsState,\n workContentsWithCascadeState,\n workDetailsState,\n} from '@/store/dailyreports/atom';\nimport { useDailyReportPersist, useDailyReportTypeAControl } from '@/hooks';\nimport { DailyReportWorksForm } from './DailyReportWorksForm';\n\nconst dialogMessage = `本日の日報を提出しますか?\n変更する方は編集画面からおこなってください`;\n\ntype DailyReportViewTypeAFormProps = {\n readOnly: boolean;\n dailyReportWorks: Array;\n dailyReportArigatona: Arigatona;\n thunksComment: string | null;\n memo: string | null;\n submitText?: string;\n};\n\nexport function DailyReportViewTypeAForm({\n readOnly,\n dailyReportWorks,\n dailyReportArigatona,\n thunksComment,\n memo,\n submitText = '提出',\n}: DailyReportViewTypeAFormProps) {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n\n const workProperties = useRecoilValue(workPropertiesState);\n const workPropertyOptions = useRecoilValue(workPropertiesWithCascadeState);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n const workDetails = useRecoilValue(workDetailsState);\n\n const { works: worksState, newWork: newWorkState } = useDailyReportPersist({\n dailyReportDate: date,\n defaultValue: dailyReportWorks,\n });\n\n const { newWork, works, handleChange, handleAdd, handleDelete, addEnable } =\n useDailyReportTypeAControl({\n worksState,\n newWorkState,\n });\n\n return (\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","import React from 'react';\nimport { useRecoilValue } from 'recoil';\nimport Select from 'react-select';\nimport { Button } from 'antd-mobile';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport { DailyReportWorksFormContainer } from '@/components/form/DailyReportViewTypeA';\nimport { employeeSelectFilterOption } from '@/store/dailyreports-configure';\nimport {\n useDailyReportRepresentationControl,\n useFetchUnsubmitUsers,\n} from '@/hooks';\nimport type { User, Work } from '@/interface';\nimport { dailyreportState, useDRDispatch } from '@/store/dailyreports/atom';\n\ntype DailyReportRepresentationViewTypeCFormProps = {\n dailyReportWorks: Array;\n users: Array;\n submitText?: string;\n};\n\nexport function DailyReportRepresentationViewTypeAForm({\n dailyReportWorks,\n users,\n submitText = '提出',\n}: DailyReportRepresentationViewTypeCFormProps) {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n\n const filterOption = useRecoilValue(employeeSelectFilterOption);\n const { options, isLoading } = useFetchUnsubmitUsers({ date, users });\n const { selectedUsers, handleChangePerson } =\n useDailyReportRepresentationControl();\n\n return (\n <>\n \n \n \n \n \n\n \n \n '従業員が見つかりません'}\n theme={reactSelectStyle}\n isMulti\n closeMenuOnSelect={false}\n isClearable\n isSearchable\n filterOption={filterOption}\n isLoading={isLoading}\n />\n {selectedUsers.map((user) => (\n \n ))}\n \n \n\n \n \n \n\n
\n \n {submitText}\n \n
\n \n );\n}\n","import React from 'react';\nimport { useRecoilValue } from 'recoil';\nimport {\n workPropertiesState,\n workPropertiesWithCascadeState,\n workContentsState,\n workContentsWithCascadeState,\n workDetailsState,\n} from '@/store/dailyreports/atom';\nimport type { Work } from '@/interface';\nimport { useDailyReport, useDailyReportTypeAControl } from '@/hooks';\nimport { DailyReportWorksForm } from './DailyReportWorksForm';\n\nexport interface IDailyReportWorksFormContainer {\n dailyReportWorks: Work[];\n}\n\n// eslint-disable-next-line\nexport const DailyReportWorksFormContainer = ({\n dailyReportWorks,\n}: IDailyReportWorksFormContainer) => {\n const workProperties = useRecoilValue(workPropertiesState);\n const workPropertyOptions = useRecoilValue(workPropertiesWithCascadeState);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n const workDetails = useRecoilValue(workDetailsState);\n const { newWorkState, worksState } = useDailyReport({\n defaultValue: dailyReportWorks,\n });\n const { newWork, works, handleChange, handleAdd, handleDelete, addEnable } =\n useDailyReportTypeAControl({\n worksState,\n newWorkState,\n });\n\n return (\n \n );\n};\n","import React, { FC, useRef, ChangeEvent } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Button, AutoCenter, Dialog } from 'antd-mobile';\nimport type {\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n DispatchReturn,\n} from '@/interface';\nimport {\n useDailyReportTypeCControl,\n useDailyReportTypeCWorkingEditDialogControl,\n useDailyReportTypeCWorkEditDialogControl,\n} from '@/hooks';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkItemCascader } from '@/components/form/dailyReport/workProperty';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\nimport { WorkingWorkContent } from './WorkingWorkContent';\nimport { WorkContentList } from './WorkContentList';\nimport { WorkEntityListWithHidden } from './WorkEntityListWithHidden';\nimport { ThunksWithHidden } from './ThunksWithHidden';\n\nconst dialogMessage = `本日の日報を提出しますか?\n変更する方は編集画面からおこなってください`;\n\ntype DailyReportViewTypeCFormProps = {\n date: string;\n setDate: (event: ChangeEvent) => void;\n newWorkState: DispatchReturn;\n workingWorkState: DispatchReturn;\n worksState: DispatchReturn>;\n submitText?: string;\n};\n\nexport const DailyReportViewTypeCForm: FC = ({\n date,\n setDate,\n worksState,\n workingWorkState,\n newWorkState,\n submitText = '提出',\n}) => {\n const submitBtnRef = useRef();\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n const {\n newWork,\n workingWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n handleSubmit,\n handleWorkingDelete,\n } = useDailyReportTypeCControl({\n worksState,\n workingWorkState,\n newWorkState,\n });\n const { handleWorkingEdit } = useDailyReportTypeCWorkingEditDialogControl({\n workingWorkState,\n });\n\n const { handleWorkEdit } = useDailyReportTypeCWorkEditDialogControl({\n worksState,\n });\n\n const handleSubmitWrapper = () => {\n handleSubmit();\n Dialog.confirm({\n content: dialogMessage,\n cancelText: 'いいえ',\n confirmText: 'はい',\n onConfirm: async () => {\n submitBtnRef.current.click();\n },\n });\n };\n\n return (\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\n
\n \n \n {submitText}\n \n
\n \n );\n};\n","import React, { FC, useRef, ChangeEvent } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Button, AutoCenter, Dialog } from 'antd-mobile';\nimport type {\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n DispatchReturn,\n} from '@/interface';\nimport {\n useDailyReportTypeDControl,\n useDailyReportTypeDWorkingEditDialogControl,\n useDailyReportTypeDWorkEditDialogControl,\n} from '@/hooks';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkItemCascader } from '@/components/form/dailyReport/workProperty';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { formKind } from '@/store/dailyreports-configure';\nimport { Arigatona } from '@/interface';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport { WorkingWorkContent } from \"./WorkingWorkContent\"\nimport { WorkContentList } from \"./WorkContentList\"\nimport { WorkEntityListWithHidden } from '../DailyReportViewTypeC/WorkEntityListWithHidden';\n\n\n\nconst dialogMessage = `本日の日報を提出しますか?\n変更する方は編集画面からおこなってください`;\n\ntype DailyReportViewTypeDFormProps = {\n date: string;\n setDate: (event: ChangeEvent) => void;\n newWorkState: DispatchReturn;\n workingWorkState: DispatchReturn;\n worksState: DispatchReturn>;\n submitText?: string;\n dailyReportArigatona: Arigatona;\n};\n\nexport const DailyReportViewTypeDForm: FC = ({\n date,\n setDate,\n worksState,\n workingWorkState,\n newWorkState,\n submitText = '提出',\n dailyReportArigatona,\n}) => {\n const submitBtnRef = useRef();\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n const {\n newWork,\n workingWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n handleSubmit,\n handleWorkingDelete,\n handleQuantityChange,\n } = useDailyReportTypeDControl({\n worksState,\n workingWorkState,\n newWorkState,\n });\n const { handleWorkingEdit } = useDailyReportTypeDWorkingEditDialogControl({\n workingWorkState,\n });\n\n const { handleWorkEdit } = useDailyReportTypeDWorkEditDialogControl({\n worksState,\n });\n\n const handleSubmitWrapper = () => {\n handleSubmit();\n Dialog.confirm({\n content: dialogMessage,\n cancelText: 'いいえ',\n confirmText: 'はい',\n onConfirm: async () => {\n submitBtnRef.current.click();\n },\n });\n };\n\n return (\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 \n \n \n \n \n \n \n \n\n
\n \n \n {submitText}\n \n
\n \n );\n};\n","import React, { FC, useReducer, useMemo } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport {\n workPropertiesState,\n workPropertiesWithCascadeState,\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { Work, TimeAlias } from '@/interface';\nimport DailyReportTimespanWorksForm from './DailyReportTimespanWorksForm';\nimport { reducer } from './state';\nimport { getWorks4Timespan } from './operations';\n\nexport interface IDailyReportWorksFormDraftContainer {\n dailyReportDate: string;\n dailyReportWorks: Work[];\n timespanInfo: Array;\n}\n\nconst DailyReportTimespanWorksFormDraftContainer: FC<\n IDailyReportWorksFormDraftContainer\n> = ({ dailyReportWorks, timespanInfo }) => {\n const workProperties = useRecoilValue(workPropertiesState);\n const workPropertyOptions = useRecoilValue(workPropertiesWithCascadeState);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const defaultValue = useMemo(\n () => getWorks4Timespan(dailyReportWorks, timespanInfo),\n [timespanInfo, dailyReportWorks],\n );\n\n const [state, dispatch] = useReducer(reducer, {\n works: defaultValue,\n showModal: false,\n overtimeWork: { startAt: '17:00' },\n });\n const { works } = state;\n const setWorks = (v: Work[]) => {\n dispatch({ type: 'SET_WORKS', payload: { works: v } });\n };\n\n const handleChangeNewWork = (idx: number | null, work: Work) => {\n if (idx === null) {\n setWorks([...works, work]);\n } else {\n works[idx] = work;\n setWorks([...works]);\n }\n };\n\n const handleOvertimeDelete = (index: number) => {\n const newWorks = works.filter((_, idx) => idx !== index);\n setWorks(newWorks);\n };\n\n return (\n \n );\n };\n\nexport default DailyReportTimespanWorksFormDraftContainer;\n","import React, { FC } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkProperty, WorkContent, Work, TimeAlias } from '@/interface';\nimport {\n dailyreportsFilterOption,\n formKind,\n} from '@/store/dailyreports-configure';\nimport {\n WorkPropertySelect,\n WorkPropertyCascader,\n WorkItemSelect,\n WorkItemCascader,\n} from '@/components/form/dailyReport/workProperty';\n\ninterface IWorkForm {\n timeAlias: TimeAlias;\n workContents: WorkContent[];\n workContentOptions: Array;\n workProperties: WorkProperty[];\n workPropertyOptions: Array;\n work: Work | null;\n onChangeProperty: (value: WorkProperty | null) => void;\n onChangeContent: (value: WorkContent | null) => void;\n}\n\nconst isFormSet = (workProperty: WorkProperty | null): boolean => {\n if (workProperty === null) {\n return false;\n }\n\n return true;\n};\n\nconst getRest = (work: Work | null, defaultValue: boolean) => {\n if (work === null) {\n return defaultValue ? 1 : 0;\n }\n return work.includeRest ? 1 : 0;\n};\n\nexport const WorkFormForTimespan: FC = ({\n timeAlias,\n workContents,\n workContentOptions,\n workProperties,\n workPropertyOptions,\n work,\n onChangeProperty,\n onChangeContent,\n}) => {\n const formKindConfigure = useRecoilValue(formKind);\n\n return (\n <>\n \n {timeAlias.name} ({timeAlias.startAt}~{timeAlias.endAt})\n \n
\n\n \n {formKindConfigure.workProperty === 'select' && (\n onChangeProperty(w.workProperty)}\n />\n )}\n {formKindConfigure.workProperty === 'cascader' && (\n onChangeProperty(w.workProperty)}\n />\n )}\n \n \n {formKindConfigure.workContent === 'select' && (\n '作業が見つかりません'}\n onChange={onChangeContent}\n />\n )}\n {formKindConfigure.workContent === 'cascader' && (\n \n )}\n \n {isFormSet(work?.workProperty ?? null) && (\n <>\n \n \n \n \n \n \n )}\n \n );\n};\n","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { eachProp, is, toArray, getFluidValue, isAnimatedString, Globals, useIsomorphicLayoutEffect, each, easings, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, useConstant, onScroll, onResize, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator, easings, useIsomorphicLayoutEffect, useReducedMotion } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return is.fun(value) ? value.apply(void 0, args) : value;\n}\n\nvar matchProp = function matchProp(value, key) {\n return value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\n};\n\nvar resolveProp = function resolveProp(prop, key) {\n return is.obj(prop) ? key && prop[key] : prop;\n};\n\nvar getDefaultProp = function getDefaultProp(props, key) {\n return props[\"default\"] === true ? props[key] : props[\"default\"] ? props[\"default\"][key] : undefined;\n};\n\nvar noopTransform = function noopTransform(value) {\n return value;\n};\n\nvar getDefaultProps = function getDefaultProps(props) {\n var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noopTransform;\n var keys = DEFAULT_PROPS;\n\n if (props[\"default\"] && props[\"default\"] !== true) {\n props = props[\"default\"];\n keys = Object.keys(props);\n }\n\n var defaults = {};\n\n var _iterator = _createForOfIteratorHelper(keys),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var key = _step.value;\n var value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return defaults;\n};\n\nvar DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nvar RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n \"default\": 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n var forward = {};\n var count = 0;\n eachProp(props, function (value, prop) {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n var to = getForwardProps(props);\n\n if (to) {\n var out = {\n to: to\n };\n eachProp(props, function (val, key) {\n return key in to || (out[key] = val);\n });\n return out;\n }\n\n return _extends({}, props);\n}\n\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\n\nfunction hasProps(props) {\n for (var _ in props) {\n return true;\n }\n\n return false;\n}\n\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\n\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref[\"delete\"](ctrl);\n ref == null ? void 0 : ref[\"delete\"](ctrl);\n}\n\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2[\"delete\"](ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps) {\n var timeFrame = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n useIsomorphicLayoutEffect(function () {\n if (timeSteps) {\n var prevDelay = 0;\n each(refs, function (ref, i) {\n var controllers = ref.current;\n\n if (controllers.length) {\n var delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, function (ctrl) {\n each(ctrl.queue, function (props) {\n var memoizedDelayProp = props.delay;\n\n props.delay = function (key) {\n return delay + callProp(memoizedDelayProp || 0, key);\n };\n });\n });\n ref.start();\n }\n });\n } else {\n var p = Promise.resolve();\n each(refs, function (ref) {\n var controllers = ref.current;\n\n if (controllers.length) {\n var queues = controllers.map(function (ctrl) {\n var q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(function () {\n each(controllers, function (ctrl, i) {\n return each(queues[i] || [], function (update) {\n return ctrl.queue.push(update);\n });\n });\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nvar config = {\n \"default\": {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nvar defaults = _extends({}, config[\"default\"], {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nvar AnimationConfig = function AnimationConfig() {\n _classCallCheck(this, AnimationConfig);\n\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n};\n\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (var key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n var mass = config.mass,\n frequency = config.frequency,\n damping = config.damping;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n var isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nvar emptyArray = [];\n\nvar Animation = function Animation() {\n _classCallCheck(this, Animation);\n\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n};\n\nfunction scheduleProps(callId, _ref2) {\n var key = _ref2.key,\n props = _ref2.props,\n defaultProps = _ref2.defaultProps,\n state = _ref2.state,\n actions = _ref2.actions;\n return new Promise(function (resolve, reject) {\n var _props$cancel;\n\n var delay;\n var timeout;\n var cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n var pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts[\"delete\"](timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue[\"delete\"](onPause);\n state.timeouts[\"delete\"](timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId: callId,\n cancel: cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nvar getCombinedResult = function getCombinedResult(target, results) {\n return results.length == 1 ? results[0] : results.some(function (result) {\n return result.cancelled;\n }) ? getCancelledResult(target.get()) : results.every(function (result) {\n return result.noop;\n }) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(function (result) {\n return result.finished;\n }));\n};\n\nvar getNoopResult = function getNoopResult(value) {\n return {\n value: value,\n noop: true,\n finished: true,\n cancelled: false\n };\n};\n\nvar getFinishedResult = function getFinishedResult(value, finished) {\n var cancelled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n value: value,\n finished: finished,\n cancelled: cancelled\n };\n};\n\nvar getCancelledResult = function getCancelledResult(value) {\n return {\n value: value,\n cancelled: true,\n finished: false\n };\n};\n\nfunction runAsync(to, props, state, target) {\n var callId = props.callId,\n parentId = props.parentId,\n onRest = props.onRest;\n var prevTo = state.asyncTo,\n prevPromise = state.promise;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var defaultProps, preventBail, bail, bailPromise, bailIfEnded, animate, result, animating;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n state.asyncId = callId;\n state.asyncTo = to;\n defaultProps = getDefaultProps(props, function (value, key) {\n return key === 'onRest' ? undefined : value;\n });\n bailPromise = new Promise(function (resolve, reject) {\n return preventBail = resolve, bail = reject;\n });\n\n bailIfEnded = function bailIfEnded(bailSignal) {\n var bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n animate = function animate(arg1, arg2) {\n var bailSignal = new BailSignal();\n var skipAnimationSignal = new SkipAnimationSignal();\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var props, result;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!Globals.skipAnimation) {\n _context.next = 5;\n break;\n }\n\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n\n case 5:\n bailIfEnded(bailSignal);\n props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, function (value, key) {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n _context.next = 11;\n return target.start(props);\n\n case 11:\n result = _context.sent;\n bailIfEnded(bailSignal);\n\n if (!state.paused) {\n _context.next = 16;\n break;\n }\n\n _context.next = 16;\n return new Promise(function (resume) {\n state.resumeQueue.add(resume);\n });\n\n case 16:\n return _context.abrupt(\"return\", result);\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n };\n\n if (!Globals.skipAnimation) {\n _context3.next = 9;\n break;\n }\n\n stopAsync(state);\n return _context3.abrupt(\"return\", getFinishedResult(target, false));\n\n case 9:\n _context3.prev = 9;\n\n if (is.arr(to)) {\n animating = function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(queue) {\n var _iterator2, _step2, _props;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(queue);\n _context2.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context2.next = 9;\n break;\n }\n\n _props = _step2.value;\n _context2.next = 7;\n return animate(_props);\n\n case 7:\n _context2.next = 3;\n break;\n\n case 9:\n _context2.next = 14;\n break;\n\n case 11:\n _context2.prev = 11;\n _context2.t0 = _context2[\"catch\"](1);\n\n _iterator2.e(_context2.t0);\n\n case 14:\n _context2.prev = 14;\n\n _iterator2.f();\n\n return _context2.finish(14);\n\n case 17:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 11, 14, 17]]);\n }));\n\n return function (_x) {\n return _ref5.apply(this, arguments);\n };\n }()(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n _context3.next = 13;\n return Promise.all([animating.then(preventBail), bailPromise]);\n\n case 13:\n result = getFinishedResult(target.get(), true, false);\n _context3.next = 27;\n break;\n\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3[\"catch\"](9);\n\n if (!(_context3.t0 instanceof BailSignal)) {\n _context3.next = 22;\n break;\n }\n\n result = _context3.t0.result;\n _context3.next = 27;\n break;\n\n case 22:\n if (!(_context3.t0 instanceof SkipAnimationSignal)) {\n _context3.next = 26;\n break;\n }\n\n result = _context3.t0.result;\n _context3.next = 27;\n break;\n\n case 26:\n throw _context3.t0;\n\n case 27:\n _context3.prev = 27;\n\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n\n return _context3.finish(27);\n\n case 30:\n if (is.fun(onRest)) {\n raf.batchedUpdates(function () {\n onRest(result, target, target.item);\n });\n }\n\n return _context3.abrupt(\"return\", result);\n\n case 32:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[9, 16, 27, 30]]);\n }))();\n}\n\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, function (t) {\n return t.cancel();\n });\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\n\nvar BailSignal = /*#__PURE__*/function (_Error) {\n _inherits(BailSignal, _Error);\n\n var _super = _createSuper(BailSignal);\n\n function BailSignal() {\n var _this;\n\n _classCallCheck(this, BailSignal);\n\n _this = _super.call(this, 'An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n _this.result = void 0;\n return _this;\n }\n\n return BailSignal;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar SkipAnimationSignal = /*#__PURE__*/function (_Error2) {\n _inherits(SkipAnimationSignal, _Error2);\n\n var _super2 = _createSuper(SkipAnimationSignal);\n\n function SkipAnimationSignal() {\n var _this2;\n\n _classCallCheck(this, SkipAnimationSignal);\n\n _this2 = _super2.call(this, 'SkipAnimationSignal');\n _this2.result = void 0;\n return _this2;\n }\n\n return SkipAnimationSignal;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar isFrameValue = function isFrameValue(value) {\n return value instanceof FrameValue;\n};\n\nvar nextId$1 = 1;\n\nvar FrameValue = /*#__PURE__*/function (_FluidValue) {\n _inherits(FrameValue, _FluidValue);\n\n var _super3 = _createSuper(FrameValue);\n\n function FrameValue() {\n var _this3;\n\n _classCallCheck(this, FrameValue);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _super3.call.apply(_super3, [this].concat(args));\n _this3.id = nextId$1++;\n _this3.key = void 0;\n _this3._priority = 0;\n return _this3;\n }\n\n _createClass(FrameValue, [{\n key: \"get\",\n value: function get() {\n var node = getAnimated(this);\n return node && node.getValue();\n }\n }, {\n key: \"to\",\n value: function to() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return Globals.to(this, args);\n }\n }, {\n key: \"interpolate\",\n value: function interpolate() {\n deprecateInterpolate();\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return Globals.to(this, args);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.get();\n }\n }, {\n key: \"observerAdded\",\n value: function observerAdded(count) {\n if (count == 1) this._attach();\n }\n }, {\n key: \"observerRemoved\",\n value: function observerRemoved(count) {\n if (count == 0) this._detach();\n }\n }, {\n key: \"_attach\",\n value: function _attach() {}\n }, {\n key: \"_detach\",\n value: function _detach() {}\n }, {\n key: \"_onChange\",\n value: function _onChange(value) {\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value: value,\n idle: idle\n });\n }\n }, {\n key: \"_onPriorityChange\",\n value: function _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority: priority\n });\n }\n }, {\n key: \"priority\",\n get: function get() {\n return this._priority;\n },\n set: function set(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n }]);\n\n return FrameValue;\n}(FluidValue);\n\nvar $P = Symbol[\"for\"]('SpringPhase');\nvar HAS_ANIMATED = 1;\nvar IS_ANIMATING = 2;\nvar IS_PAUSED = 4;\n\nvar hasAnimated = function hasAnimated(target) {\n return (target[$P] & HAS_ANIMATED) > 0;\n};\n\nvar isAnimating = function isAnimating(target) {\n return (target[$P] & IS_ANIMATING) > 0;\n};\n\nvar isPaused = function isPaused(target) {\n return (target[$P] & IS_PAUSED) > 0;\n};\n\nvar setActiveBit = function setActiveBit(target, active) {\n return active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\n};\n\nvar setPausedBit = function setPausedBit(target, paused) {\n return paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n};\n\nvar SpringValue = /*#__PURE__*/function (_FrameValue) {\n _inherits(SpringValue, _FrameValue);\n\n var _super4 = _createSuper(SpringValue);\n\n function SpringValue(arg1, arg2) {\n var _this4;\n\n _classCallCheck(this, SpringValue);\n\n _this4 = _super4.call(this);\n _this4.key = void 0;\n _this4.animation = new Animation();\n _this4.queue = void 0;\n _this4.defaultProps = {};\n _this4._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n _this4._pendingCalls = new Set();\n _this4._lastCallId = 0;\n _this4._lastToId = 0;\n _this4._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n var props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props[\"default\"])) {\n props[\"default\"] = true;\n }\n\n _this4.start(props);\n }\n\n return _this4;\n }\n\n _createClass(SpringValue, [{\n key: \"advance\",\n value: function advance(dt) {\n var _this5 = this;\n\n var idle = true;\n var changed = false;\n var anim = this.animation;\n var config = anim.config,\n toValues = anim.toValues;\n var payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach(function (node, i) {\n if (node.done) return;\n var to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n var finished = anim.immediate;\n var position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n var elapsed = node.elapsedTime += dt;\n var from = anim.fromValues[i];\n var v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n var velocity;\n var precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n\n if (!is.und(config.duration)) {\n var p = 1;\n\n if (config.duration > 0) {\n if (_this5._memoizedDuration !== config.duration) {\n _this5._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / _this5._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n var decay = config.decay === true ? 0.998 : config.decay;\n var e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) <= precision;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n var restVelocity = config.restVelocity || precision / 10;\n var bounceFactor = config.clamp ? 0 : config.bounce;\n var canBounce = !is.und(bounceFactor);\n var isGrowing = from == to ? node.v0 > 0 : from < to;\n var isMoving;\n var isBouncing = false;\n var step = 1;\n var numSteps = Math.ceil(dt / step);\n\n for (var n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n var springForce = -config.tension * 0.000001 * (position - to);\n var dampingForce = -config.friction * 0.001 * velocity;\n var acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(\"Got NaN while animating:\", _this5);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n var node = getAnimated(this);\n var currVal = node.getValue();\n\n if (idle) {\n var finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n }, {\n key: \"set\",\n value: function set(value) {\n var _this6 = this;\n\n raf.batchedUpdates(function () {\n _this6._stop();\n\n _this6._focus(value);\n\n _this6._set(value);\n });\n return this;\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this._update({\n pause: true\n });\n }\n }, {\n key: \"resume\",\n value: function resume() {\n this._update({\n pause: false\n });\n }\n }, {\n key: \"finish\",\n value: function finish() {\n var _this7 = this;\n\n if (isAnimating(this)) {\n var _this$animation = this.animation,\n _to = _this$animation.to,\n _config = _this$animation.config;\n raf.batchedUpdates(function () {\n _this7._onStart();\n\n if (!_config.decay) {\n _this7._set(_to, false);\n }\n\n _this7._stop();\n });\n }\n\n return this;\n }\n }, {\n key: \"update\",\n value: function update(props) {\n var queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n }, {\n key: \"start\",\n value: function start(to, arg2) {\n var _this8 = this;\n\n var queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to: to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(function (props) {\n var up = _this8._update(props);\n\n return up;\n })).then(function (results) {\n return getCombinedResult(_this8, results);\n });\n }\n }, {\n key: \"stop\",\n value: function stop(cancel) {\n var _this9 = this;\n\n var to = this.animation.to;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(function () {\n return _this9._stop(to, cancel);\n });\n return this;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._update({\n reset: true\n });\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n }, {\n key: \"_prepareNode\",\n value: function _prepareNode(props) {\n var key = this.key || '';\n var to = props.to,\n from = props.from;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n var range = {\n to: to,\n from: from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) {\n var _ref6 = [from, to];\n to = _ref6[0];\n from = _ref6[1];\n }\n\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n }, {\n key: \"_update\",\n value: function _update(_ref, isLoop) {\n var _this10 = this;\n\n var props = _extends({}, _ref);\n\n var key = this.key,\n defaultProps = this.defaultProps;\n if (props[\"default\"]) Object.assign(defaultProps, getDefaultProps(props, function (value, prop) {\n return /^on/.test(prop) ? resolveProp(value, key) : value;\n }));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n var range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n var state = this._state;\n return scheduleProps(++this._lastCallId, {\n key: key,\n props: props,\n defaultProps: defaultProps,\n state: state,\n actions: {\n pause: function pause() {\n if (!isPaused(_this10)) {\n setPausedBit(_this10, true);\n flushCalls(state.pauseQueue);\n sendEvent(_this10, 'onPause', getFinishedResult(_this10, checkFinished(_this10, _this10.animation.to)), _this10);\n }\n },\n resume: function resume() {\n if (isPaused(_this10)) {\n setPausedBit(_this10, false);\n\n if (isAnimating(_this10)) {\n _this10._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(_this10, 'onResume', getFinishedResult(_this10, checkFinished(_this10, _this10.animation.to)), _this10);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(function (result) {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n var nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return _this10._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n }, {\n key: \"_merge\",\n value: function _merge(range, props, resolve) {\n var _this11 = this;\n\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n var hasToProp = !is.und(range.to);\n var hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n var key = this.key,\n defaultProps = this.defaultProps,\n anim = this.animation;\n var prevTo = anim.to,\n prevFrom = anim.from;\n var _range$to = range.to,\n to = _range$to === void 0 ? prevTo : _range$to,\n _range$from = range.from,\n from = _range$from === void 0 ? prevFrom : _range$from;\n\n if (hasFromProp && !hasToProp && (!props[\"default\"] || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) {\n var _ref7 = [from, to];\n to = _ref7[0];\n from = _ref7[1];\n }\n\n var hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n var hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n var hasAsyncTo = isAsyncTo(props.to);\n var config = anim.config;\n var decay = config.decay,\n velocity = config.velocity;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n var node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n var reset = is.und(props.reset) ? hasFromProp && !props[\"default\"] : !is.und(from) && matchProp(props.reset, key);\n var value = reset ? from : this.get();\n var goal = computeGoal(to);\n var isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n var immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n var nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(\"Cannot animate between \".concat(node.constructor.name, \" and \").concat(nodeType.name, \", as the \\\"to\\\" prop suggests\"));\n }\n }\n\n var goalType = node.constructor;\n var started = hasFluidValue(to);\n var finished = false;\n\n if (!started) {\n var hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n var onRest = anim.onRest;\n each(ACTIVE_EVENTS, function (type) {\n return mergeActiveFn(_this11, props, type);\n });\n var result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(function () {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, _this11);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, _this11);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n }, {\n key: \"_focus\",\n value: function _focus(value) {\n var anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n }, {\n key: \"_attach\",\n value: function _attach() {\n var priority = 0;\n var to = this.animation.to;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n }, {\n key: \"_detach\",\n value: function _detach() {\n var to = this.animation.to;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n }, {\n key: \"_set\",\n value: function _set(arg) {\n var _this12 = this;\n\n var idle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var value = getFluidValue(arg);\n\n if (!is.und(value)) {\n var oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n var nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(function () {\n _this12._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n }, {\n key: \"_onStart\",\n value: function _onStart() {\n var anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n }, {\n key: \"_onChange\",\n value: function _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n _get(_getPrototypeOf(SpringValue.prototype), \"_onChange\", this).call(this, value, idle);\n }\n }, {\n key: \"_start\",\n value: function _start() {\n var anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(function (node) {\n return node.lastPosition;\n });\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n }, {\n key: \"_resume\",\n value: function _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n }, {\n key: \"_stop\",\n value: function _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n var anim = this.animation;\n each(anim.values, function (node) {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n var result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n }, {\n key: \"idle\",\n get: function get() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n }, {\n key: \"goal\",\n get: function get() {\n return getFluidValue(this.animation.to);\n }\n }, {\n key: \"velocity\",\n get: function get() {\n var node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(function (node) {\n return node.lastVelocity || 0;\n });\n }\n }, {\n key: \"hasAnimated\",\n get: function get() {\n return hasAnimated(this);\n }\n }, {\n key: \"isAnimating\",\n get: function get() {\n return isAnimating(this);\n }\n }, {\n key: \"isPaused\",\n get: function get() {\n return isPaused(this);\n }\n }, {\n key: \"isDelayed\",\n get: function get() {\n return this._state.delayed;\n }\n }]);\n\n return SpringValue;\n}(FrameValue);\n\nfunction checkFinished(target, to) {\n var goal = computeGoal(to);\n var value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props) {\n var loop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.loop;\n var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : props.to;\n var loopRet = callProp(loop);\n\n if (loopRet) {\n var overrides = loopRet !== true && inferTo(loopRet);\n var reverse = (overrides || props).reverse;\n var reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop: loop,\n \"default\": false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset: reset\n }, overrides));\n }\n}\n\nfunction createUpdate(props) {\n var _props2 = props = inferTo(props),\n to = _props2.to,\n from = _props2.from;\n\n var keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\n\nfunction declareUpdate(props) {\n var update = createUpdate(props);\n\n if (is.und(update[\"default\"])) {\n update[\"default\"] = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, function (value, key) {\n return value != null && keys.add(key);\n });\n}\n\nvar ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type) {\n var _target$animation$typ2, _target$defaultProps$2;\n\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) {\n args[_key5 - 2] = arguments[_key5];\n }\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : (_target$animation$typ2 = _target$animation$typ).call.apply(_target$animation$typ2, [_target$animation].concat(args));\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : (_target$defaultProps$2 = _target$defaultProps$).call.apply(_target$defaultProps$2, [_target$defaultProps].concat(args));\n}\n\nvar BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nvar nextId = 1;\n\nvar Controller = /*#__PURE__*/function () {\n function Controller(props, flush) {\n _classCallCheck(this, Controller);\n\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n \"default\": true\n }, props));\n }\n }\n\n _createClass(Controller, [{\n key: \"get\",\n value: function get() {\n var values = {};\n this.each(function (spring, key) {\n return values[key] = spring.get();\n });\n return values;\n }\n }, {\n key: \"set\",\n value: function set(values) {\n for (var key in values) {\n var value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n }, {\n key: \"start\",\n value: function start(props) {\n var queue = this.queue;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n }, {\n key: \"stop\",\n value: function stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].stop(!!arg);\n });\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(function (spring) {\n return spring.stop(!!arg);\n });\n }\n\n return this;\n }\n }, {\n key: \"pause\",\n value: function pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].pause();\n });\n }\n\n return this;\n }\n }, {\n key: \"resume\",\n value: function resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n var springs = this.springs;\n each(toArray(keys), function (key) {\n return springs[key].resume();\n });\n }\n\n return this;\n }\n }, {\n key: \"each\",\n value: function each(iterator) {\n eachProp(this.springs, iterator);\n }\n }, {\n key: \"_onFrame\",\n value: function _onFrame() {\n var _this13 = this;\n\n var _this$_events = this._events,\n onStart = _this$_events.onStart,\n onChange = _this$_events.onChange,\n onRest = _this$_events.onRest;\n var active = this._active.size > 0;\n var changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n onStart = _ref9[0],\n result = _ref9[1];\n\n result.value = _this13.get();\n onStart(result, _this13, _this13._item);\n });\n }\n\n var idle = !active && this._started;\n var values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n onChange = _ref11[0],\n result = _ref11[1];\n\n result.value = values;\n onChange(result, _this13, _this13._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 2),\n onRest = _ref13[0],\n result = _ref13[1];\n\n result.value = values;\n onRest(result, _this13, _this13._item);\n });\n }\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active[\"delete\"](event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n }, {\n key: \"idle\",\n get: function get() {\n return !this._state.asyncTo && Object.values(this.springs).every(function (spring) {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n }, {\n key: \"item\",\n get: function get() {\n return this._item;\n },\n set: function set(item) {\n this._item = item;\n }\n }]);\n\n return Controller;\n}();\n\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(function (props) {\n return flushUpdate(ctrl, props);\n })).then(function (results) {\n return getCombinedResult(ctrl, results);\n });\n}\n\nfunction flushUpdate(_x2, _x3, _x4) {\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction _flushUpdate() {\n _flushUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(ctrl, props, isLoop) {\n var keys, to, from, loop, onRest, onResolve, defaults, asyncTo, state, promises, cancel, result, nextProps;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n keys = props.keys, to = props.to, from = props.from, loop = props.loop, onRest = props.onRest, onResolve = props.onResolve;\n defaults = is.obj(props[\"default\"]) && props[\"default\"];\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, function (key) {\n var handler = props[key];\n\n if (is.fun(handler)) {\n var queue = ctrl['_events'][key];\n\n props[key] = function (_ref22) {\n var finished = _ref22.finished,\n cancelled = _ref22.cancelled;\n var result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n promises = (keys || Object.keys(ctrl.springs)).map(function (key) {\n return ctrl.springs[key].start(props);\n });\n cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props: props,\n state: state,\n actions: {\n pause: noop,\n resume: noop,\n start: function start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n }\n }));\n }\n\n if (!state.paused) {\n _context4.next = 15;\n break;\n }\n\n _context4.next = 15;\n return new Promise(function (resume) {\n state.resumeQueue.add(resume);\n });\n\n case 15:\n _context4.t0 = getCombinedResult;\n _context4.t1 = ctrl;\n _context4.next = 19;\n return Promise.all(promises);\n\n case 19:\n _context4.t2 = _context4.sent;\n result = (0, _context4.t0)(_context4.t1, _context4.t2);\n\n if (!(loop && result.finished && !(isLoop && result.noop))) {\n _context4.next = 26;\n break;\n }\n\n nextProps = createLoopUpdate(props, loop, to);\n\n if (!nextProps) {\n _context4.next = 26;\n break;\n }\n\n prepareKeys(ctrl, [nextProps]);\n return _context4.abrupt(\"return\", flushUpdate(ctrl, nextProps, true));\n\n case 26:\n if (onResolve) {\n raf.batchedUpdates(function () {\n return onResolve(result, ctrl, ctrl.item);\n });\n }\n\n return _context4.abrupt(\"return\", result);\n\n case 28:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _flushUpdate.apply(this, arguments);\n}\n\nfunction getSprings(ctrl, props) {\n var springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), function (props) {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, function (key) {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\n\nfunction setSprings(ctrl, springs) {\n eachProp(springs, function (spring, key) {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n var spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, function (key) {\n var spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, function (props) {\n prepareSprings(ctrl.springs, props, function (key) {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded$6 = [\"children\"];\n\nvar SpringContext = function SpringContext(_ref) {\n var children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$6);\n\n var inherited = useContext(ctx);\n var pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(function () {\n return {\n pause: pause,\n immediate: immediate\n };\n }, [pause, immediate]);\n var Provider = ctx.Provider;\n return /*#__PURE__*/React.createElement(Provider, {\n value: props\n }, children);\n};\n\nvar ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, /*#__PURE__*/React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nvar SpringRef = function SpringRef() {\n var current = [];\n\n var SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n var results = [];\n each(current, function (ctrl, i) {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n var _update2 = _getProps(props, ctrl, i);\n\n if (_update2) {\n results.push(ctrl.start(_update2));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef[\"delete\"] = function (ctrl) {\n var i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n var _arguments = arguments;\n each(current, function (ctrl) {\n return ctrl.pause.apply(ctrl, _toConsumableArray(_arguments));\n });\n return this;\n };\n\n SpringRef.resume = function () {\n var _arguments2 = arguments;\n each(current, function (ctrl) {\n return ctrl.resume.apply(ctrl, _toConsumableArray(_arguments2));\n });\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, function (ctrl) {\n return ctrl.set(values);\n });\n };\n\n SpringRef.start = function (props) {\n var _this14 = this;\n\n var results = [];\n each(current, function (ctrl, i) {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n var _update3 = _this14._getProps(props, ctrl, i);\n\n if (_update3) {\n results.push(ctrl.start(_update3));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n var _arguments3 = arguments;\n each(current, function (ctrl) {\n return ctrl.stop.apply(ctrl, _toConsumableArray(_arguments3));\n });\n return this;\n };\n\n SpringRef.update = function (props) {\n var _this15 = this;\n\n each(current, function (ctrl, i) {\n return ctrl.update(_this15._getProps(props, ctrl, i));\n });\n return this;\n };\n\n var _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n var _arguments4 = arguments;\n var propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n var ref = useMemo(function () {\n return propsFn || _arguments4.length == 3 ? SpringRef() : void 0;\n }, []);\n var layoutId = useRef(0);\n var forceUpdate = useForceUpdate();\n var state = useMemo(function () {\n return {\n ctrls: [],\n queue: [],\n flush: function flush(ctrl, updates) {\n var springs = getSprings(ctrl, updates);\n var canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(function (key) {\n return !ctrl.springs[key];\n });\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(function (resolve) {\n setSprings(ctrl, springs);\n state.queue.push(function () {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n };\n }, []);\n var ctrls = useRef(_toConsumableArray(state.ctrls));\n var updates = [];\n var prevLength = usePrev(length) || 0;\n useMemo(function () {\n each(ctrls.current.slice(length, prevLength), function (ctrl) {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(function () {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (var i = startIndex; i < endIndex; i++) {\n var ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n\n var _update4 = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (_update4) {\n updates[i] = declareUpdate(_update4);\n }\n }\n }\n\n var springs = ctrls.current.map(function (ctrl, i) {\n return getSprings(ctrl, updates[i]);\n });\n var context = useContext(SpringContext);\n var prevContext = usePrev(context);\n var hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(function () {\n layoutId.current++;\n state.ctrls = ctrls.current;\n var queue = state.queue;\n\n if (queue.length) {\n state.queue = [];\n each(queue, function (cb) {\n return cb();\n });\n }\n\n each(ctrls.current, function (ctrl, i) {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n \"default\": context\n });\n }\n\n var update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(function () {\n return function () {\n each(state.ctrls, function (ctrl) {\n return ctrl.stop(true);\n });\n };\n });\n var values = springs.map(function (x) {\n return _extends({}, x);\n });\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n var isFn = is.fun(props);\n\n var _useSprings = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps),\n _useSprings2 = _slicedToArray(_useSprings, 2),\n _useSprings2$ = _slicedToArray(_useSprings2[0], 1),\n values = _useSprings2$[0],\n ref = _useSprings2[1];\n\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nvar initSpringRef = function initSpringRef() {\n return SpringRef();\n};\n\nvar useSpringRef = function useSpringRef() {\n return useState(initSpringRef)[0];\n};\n\nvar useSpringValue = function useSpringValue(initial, props) {\n var springValue = useConstant(function () {\n return new SpringValue(initial, props);\n });\n useOnce(function () {\n return function () {\n springValue.stop();\n };\n });\n return springValue;\n};\n\nfunction useTrail(length, propsArg, deps) {\n var propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n var reverse = true;\n var passedRef = undefined;\n var result = useSprings(length, function (i, ctrl) {\n var props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n useIsomorphicLayoutEffect(function () {\n each(result[1].current, function (ctrl, i) {\n var parent = result[1].current[i + (reverse ? 1 : -1)];\n replaceRef(ctrl, passedRef);\n\n if (ctrl.ref) {\n if (parent) {\n ctrl.update({\n to: parent.springs\n });\n }\n\n return;\n }\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n var _passedRef;\n\n var ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n\n ref['_getProps'] = function (propsArg, ctrl, i) {\n var props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n var parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n return result[0];\n}\n\nvar TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n var _arguments5 = arguments;\n var propsFn = is.fun(props) && props;\n\n var _ref14 = propsFn ? propsFn() : props,\n reset = _ref14.reset,\n sort = _ref14.sort,\n _ref14$trail = _ref14.trail,\n trail = _ref14$trail === void 0 ? 0 : _ref14$trail,\n _ref14$expires = _ref14.expires,\n expires = _ref14$expires === void 0 ? true : _ref14$expires,\n _ref14$exitBeforeEnte = _ref14.exitBeforeEnter,\n exitBeforeEnter = _ref14$exitBeforeEnte === void 0 ? false : _ref14$exitBeforeEnte,\n onDestroyed = _ref14.onDestroyed,\n propsRef = _ref14.ref,\n propsConfig = _ref14.config;\n\n var ref = useMemo(function () {\n return propsFn || _arguments5.length == 3 ? SpringRef() : void 0;\n }, []);\n var items = toArray(data);\n var transitions = [];\n var usedTransitions = useRef(null);\n var prevTransitions = reset ? null : usedTransitions.current;\n useIsomorphicLayoutEffect(function () {\n usedTransitions.current = transitions;\n });\n useOnce(function () {\n each(transitions, function (t) {\n ref == null ? void 0 : ref.add(t.ctrl);\n t.ctrl.ref = ref;\n });\n return function () {\n each(usedTransitions.current, function (t) {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n var keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n var expired = reset && usedTransitions.current || [];\n useIsomorphicLayoutEffect(function () {\n return each(expired, function (_ref15) {\n var ctrl = _ref15.ctrl,\n item = _ref15.item,\n key = _ref15.key;\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n });\n });\n var reused = [];\n if (prevTransitions) each(prevTransitions, function (t, i) {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, function (item, i) {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item: item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n var i = -1;\n\n var _ref16 = propsFn ? propsFn() : props,\n leave = _ref16.leave;\n\n each(reused, function (keyIndex, prevIndex) {\n var t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort(function (a, b) {\n return sort(a.item, b.item);\n });\n }\n\n var delay = -trail;\n var forceUpdate = useForceUpdate();\n var defaultProps = getDefaultProps(props);\n var changes = new Map();\n var exitingTransitions = useRef(new Map());\n var forceChange = useRef(false);\n each(transitions, function (t, i) {\n var key = t.key;\n var prevPhase = t.phase;\n var p = propsFn ? propsFn() : props;\n var to;\n var phase;\n var propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n var isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to: to\n };\n\n if (!to.config) {\n var _config2 = propsConfig || defaultProps.config;\n\n to.config = callProp(_config2, t.item, i, phase);\n }\n\n delay += trail;\n\n var payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n var _p = propsFn ? propsFn() : props;\n\n var from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n var onResolve = payload.onResolve;\n\n payload.onResolve = function (result) {\n callProp(onResolve, result);\n var transitions = usedTransitions.current;\n var t = transitions.find(function (t) {\n return t.key === key;\n });\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n var idle = transitions.every(function (t) {\n return t.ctrl.idle;\n });\n\n if (t.phase == TransitionPhase.LEAVE) {\n var expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n var expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(function (t) {\n return t.expired;\n })) {\n exitingTransitions.current[\"delete\"](t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n var springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase: phase,\n springs: springs,\n payload: payload\n });\n } else {\n changes.set(t, {\n phase: phase,\n springs: springs,\n payload: payload\n });\n }\n });\n var context = useContext(SpringContext);\n var prevContext = usePrev(context);\n var hasContext = context !== prevContext && hasProps(context);\n useIsomorphicLayoutEffect(function () {\n if (hasContext) {\n each(transitions, function (t) {\n t.ctrl.start({\n \"default\": context\n });\n });\n }\n }, [context]);\n each(changes, function (_, t) {\n if (exitingTransitions.current.size) {\n var ind = transitions.findIndex(function (state) {\n return state.key === t.key;\n });\n transitions.splice(ind, 1);\n }\n });\n useIsomorphicLayoutEffect(function () {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, function (_ref17, t) {\n var phase = _ref17.phase,\n payload = _ref17.payload;\n var ctrl = t.ctrl;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n \"default\": context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if ((ctrl.ref || ref) && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n var renderTransitions = function renderTransitions(render) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, transitions.map(function (t, i) {\n var _ref18 = changes.get(t) || t.ctrl,\n springs = _ref18.springs;\n\n var elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? /*#__PURE__*/React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n };\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\n\nvar nextKey = 1;\n\nfunction getKeys(items, _ref19, prevTransitions) {\n var key = _ref19.key,\n _ref19$keys = _ref19.keys,\n keys = _ref19$keys === void 0 ? key : _ref19$keys;\n\n if (keys === null) {\n var reused = new Set();\n return items.map(function (item) {\n var t = prevTransitions && prevTransitions.find(function (t) {\n return t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t);\n });\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nvar _excluded$5 = [\"container\"];\n\nvar useScroll = function useScroll() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var container = _ref.container,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$5);\n\n var _useSpring = useSpring(function () {\n return _extends({\n scrollX: 0,\n scrollY: 0,\n scrollXProgress: 0,\n scrollYProgress: 0\n }, springOptions);\n }, []),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n scrollValues = _useSpring2[0],\n api = _useSpring2[1];\n\n useIsomorphicLayoutEffect(function () {\n var cleanupScroll = onScroll(function (_ref20) {\n var x = _ref20.x,\n y = _ref20.y;\n api.start({\n scrollX: x.current,\n scrollXProgress: x.progress,\n scrollY: y.current,\n scrollYProgress: y.progress\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return function () {\n each(Object.values(scrollValues), function (value) {\n return value.stop();\n });\n cleanupScroll();\n };\n }, []);\n return scrollValues;\n};\n\nvar _excluded$4 = [\"container\"];\n\nvar useResize = function useResize(_ref) {\n var container = _ref.container,\n springOptions = _objectWithoutPropertiesLoose(_ref, _excluded$4);\n\n var _useSpring3 = useSpring(function () {\n return _extends({\n width: 0,\n height: 0\n }, springOptions);\n }, []),\n _useSpring4 = _slicedToArray(_useSpring3, 2),\n sizeValues = _useSpring4[0],\n api = _useSpring4[1];\n\n useIsomorphicLayoutEffect(function () {\n var cleanupScroll = onResize(function (_ref21) {\n var width = _ref21.width,\n height = _ref21.height;\n api.start({\n width: width,\n height: height,\n immediate: sizeValues.width.get() === 0 || sizeValues.height.get() === 0\n });\n }, {\n container: (container == null ? void 0 : container.current) || undefined\n });\n return function () {\n each(Object.values(sizeValues), function (value) {\n return value.stop();\n });\n cleanupScroll();\n };\n }, []);\n return sizeValues;\n};\n\nvar _excluded$3 = [\"to\", \"from\"],\n _excluded2 = [\"root\", \"once\", \"amount\"];\nvar defaultThresholdOptions = {\n any: 0,\n all: 1\n};\n\nfunction useInView(props, args) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isInView = _useState2[0],\n setIsInView = _useState2[1];\n\n var ref = useRef();\n var propsFn = is.fun(props) && props;\n var springsProps = propsFn ? propsFn() : {};\n\n var _springsProps$to = springsProps.to,\n to = _springsProps$to === void 0 ? {} : _springsProps$to,\n _springsProps$from = springsProps.from,\n from = _springsProps$from === void 0 ? {} : _springsProps$from,\n restSpringProps = _objectWithoutPropertiesLoose(springsProps, _excluded$3);\n\n var intersectionArguments = propsFn ? args : props;\n\n var _useSpring5 = useSpring(function () {\n return _extends({\n from: from\n }, restSpringProps);\n }, []),\n _useSpring6 = _slicedToArray(_useSpring5, 2),\n springs = _useSpring6[0],\n api = _useSpring6[1];\n\n useIsomorphicLayoutEffect(function () {\n var element = ref.current;\n\n var _ref = intersectionArguments != null ? intersectionArguments : {},\n root = _ref.root,\n once = _ref.once,\n _ref$amount = _ref.amount,\n amount = _ref$amount === void 0 ? 'any' : _ref$amount,\n restArgs = _objectWithoutPropertiesLoose(_ref, _excluded2);\n\n if (!element || once && isInView || typeof IntersectionObserver === 'undefined') return;\n var activeIntersections = new WeakMap();\n\n var onEnter = function onEnter() {\n if (to) {\n api.start(to);\n }\n\n setIsInView(true);\n\n var cleanup = function cleanup() {\n if (from) {\n api.start(from);\n }\n\n setIsInView(false);\n };\n\n return once ? undefined : cleanup;\n };\n\n var handleIntersection = function handleIntersection(entries) {\n entries.forEach(function (entry) {\n var onLeave = activeIntersections.get(entry.target);\n\n if (entry.isIntersecting === Boolean(onLeave)) {\n return;\n }\n\n if (entry.isIntersecting) {\n var newOnLeave = onEnter();\n\n if (is.fun(newOnLeave)) {\n activeIntersections.set(entry.target, newOnLeave);\n } else {\n observer.unobserve(entry.target);\n }\n } else if (onLeave) {\n onLeave();\n activeIntersections[\"delete\"](entry.target);\n }\n });\n };\n\n var observer = new IntersectionObserver(handleIntersection, _extends({\n root: root && root.current || undefined,\n threshold: typeof amount === 'number' || Array.isArray(amount) ? amount : defaultThresholdOptions[amount]\n }, restArgs));\n observer.observe(element);\n return function () {\n return observer.unobserve(element);\n };\n }, [intersectionArguments]);\n\n if (propsFn) {\n return [ref, springs];\n }\n\n return [ref, isInView];\n}\n\nvar _excluded$2 = [\"children\"];\n\nfunction Spring(_ref) {\n var children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nvar _excluded$1 = [\"items\", \"children\"];\n\nfunction Trail(_ref) {\n var items = _ref.items,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n var trails = useTrail(items.length, props);\n return items.map(function (item, index) {\n var result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nvar _excluded = [\"items\", \"children\"];\n\nfunction Transition(_ref) {\n var items = _ref.items,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nvar Interpolation = /*#__PURE__*/function (_FrameValue2) {\n _inherits(Interpolation, _FrameValue2);\n\n var _super5 = _createSuper(Interpolation);\n\n function Interpolation(source, args) {\n var _this16;\n\n _classCallCheck(this, Interpolation);\n\n _this16 = _super5.call(this);\n _this16.key = void 0;\n _this16.idle = true;\n _this16.calc = void 0;\n _this16._active = new Set();\n _this16.source = source;\n _this16.calc = createInterpolator.apply(void 0, _toConsumableArray(args));\n\n var value = _this16._get();\n\n var nodeType = getAnimatedType(value);\n setAnimated(_assertThisInitialized(_this16), nodeType.create(value));\n return _this16;\n }\n\n _createClass(Interpolation, [{\n key: \"advance\",\n value: function advance(_dt) {\n var value = this._get();\n\n var oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n }, {\n key: \"_get\",\n value: function _get() {\n var inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc.apply(this, _toConsumableArray(inputs));\n }\n }, {\n key: \"_start\",\n value: function _start() {\n var _this17 = this;\n\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), function (node) {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(function () {\n return _this17.advance();\n });\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n }, {\n key: \"_attach\",\n value: function _attach() {\n var _this18 = this;\n\n var priority = 1;\n each(toArray(this.source), function (source) {\n if (hasFluidValue(source)) {\n addFluidObserver(source, _this18);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n _this18._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n }, {\n key: \"_detach\",\n value: function _detach() {\n var _this19 = this;\n\n each(toArray(this.source), function (source) {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, _this19);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n }, {\n key: \"eventObserved\",\n value: function eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active[\"delete\"](event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce(function (highest, parent) {\n return Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1);\n }, 0);\n }\n }\n }]);\n\n return Interpolation;\n}(FrameValue);\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), function (node) {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nvar to = function to(source) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n return new Interpolation(source, args);\n};\n\nvar interpolate = function interpolate(source) {\n for (var _len7 = arguments.length, args = new Array(_len7 > 1 ? _len7 - 1 : 0), _key7 = 1; _key7 < _len7; _key7++) {\n args[_key7 - 1] = arguments[_key7];\n }\n\n return deprecateInterpolate(), new Interpolation(source, args);\n};\n\nGlobals.assign({\n createStringInterpolator: createStringInterpolator,\n to: function to(source, args) {\n return new Interpolation(source, args);\n }\n});\nvar update = frameLoop.advance;\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, inferTo, interpolate, to, update, useChain, useInView, useResize, useScroll, useSpring, useSpringRef, useSpringValue, useSprings, useTrail, useTransition };","import React, { FC } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkProperty, WorkContent, Work } from '@/interface';\nimport {\n dailyreportsFilterOption,\n formKind,\n} from '@/store/dailyreports-configure';\nimport {\n WorkPropertySelect,\n WorkPropertyCascader,\n WorkItemSelect,\n WorkItemCascader,\n} from '@/components/form/dailyReport/workProperty';\n\ninterface IWorkForm {\n workContents: WorkContent[];\n workContentOptions: Array;\n workProperties: WorkProperty[];\n workPropertyOptions: Array;\n work: Work | null;\n onChangeProperty: (value: WorkProperty | null) => void;\n onChangeContent: (value: WorkContent | null) => void;\n onChangeStartAt: (ev: React.ChangeEvent) => void;\n onChangeEndAt: (ev: React.ChangeEvent) => void;\n}\n\nexport const WorkForm: FC = ({\n workContents,\n workContentOptions,\n workProperties,\n workPropertyOptions,\n work,\n onChangeProperty,\n onChangeContent,\n onChangeStartAt,\n onChangeEndAt,\n}) => {\n const formKindConfigure = useRecoilValue(formKind);\n\n return (\n <>\n \n {formKindConfigure.workProperty === 'select' && (\n onChangeProperty(w.workProperty)}\n />\n )}\n {formKindConfigure.workProperty === 'cascader' && (\n onChangeProperty(w.workProperty)}\n />\n )}\n \n \n {formKindConfigure.workContent === 'select' && (\n '作業が見つかりません'}\n onChange={onChangeContent}\n />\n )}\n {formKindConfigure.workContent === 'cascader' && (\n \n )}\n \n\n \n \n \n \n \n \n \n );\n};\n","import React, { FC } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport type { CascaderOption } from 'antd-mobile/es/components/cascader';\nimport Select from 'react-select';\nimport validate from 'validate.js';\nimport {\n dailyreportsFilterOption,\n formKind,\n} from '@/store/dailyreports-configure';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\nimport { WorkProperty, WorkContent, Work } from '@/interface';\nimport {\n WorkPropertySelect,\n WorkPropertyCascader,\n WorkItemSelect,\n WorkItemCascader,\n} from '@/components/form/dailyReport/workProperty';\nimport { FormGroup, FormGroupToggle } from './FormGroup';\n\nconst constraints = {\n format: {\n pattern: /^[0-9]*$/,\n },\n};\n\nconst VALID = undefined;\n\ninterface IWorkForm {\n workContents: WorkContent[];\n workContentOptions: Array;\n workProperties: WorkProperty[];\n workPropertyOptions: Array;\n workDetails: WorkContent[];\n newWork: Work;\n handleChangeNewWork: (work: Work) => void;\n}\n\nexport const WorkForm: FC = ({\n workContents,\n workContentOptions,\n workProperties,\n workPropertyOptions,\n workDetails,\n newWork,\n handleChangeNewWork,\n}) => {\n const formKindConfigure = useRecoilValue(formKind);\n const { workDetailFilterOption } = useRecoilValue(\n dailyreportsFilterOption,\n );\n\n return (\n <>\n \n {formKindConfigure.workProperty === 'select' && (\n \n )}\n {formKindConfigure.workProperty === 'cascader' && (\n \n )}\n \n \n {formKindConfigure.workContent === 'select' && (\n '作業が見つかりません'}\n onChange={(target) => {\n const workContent =\n target === null ? null : { id: target.id, name: target.name };\n handleChangeNewWork({\n ...newWork,\n workContent,\n });\n }}\n />\n )}\n {formKindConfigure.workContent === 'cascader' && (\n {\n handleChangeNewWork({\n ...newWork,\n workContent: value,\n });\n }}\n />\n )}\n \n \n option.name}\n getOptionLabelValue={(option) => option.id}\n isOptionSelected={(target) => newWork?.workDetail?.id === target.id}\n value={newWork?.workDetail}\n onChange={(target) =>\n handleChangeNewWork({ ...newWork, workDetail: target })\n }\n placeholder=\"選択してください...\"\n noOptionsMessage={() => '選択肢がありません'}\n theme={reactSelectStyle}\n isClearable\n isSearchable\n filterOption={workDetailFilterOption}\n />\n \n \n ) => {\n const ret = validate.single(event.target.value, constraints);\n if (ret === VALID) {\n handleChangeNewWork({ ...newWork, amount: event.target.value });\n }\n }}\n />\n \n \n \n handleChangeNewWork({ ...newWork, startAt: ev.target.value })\n }\n />\n \n \n \n handleChangeNewWork({ ...newWork, endAt: ev.target.value })\n }\n />\n \n\n \n \n handleChangeNewWork({ ...newWork, includeRest: ev.target.checked })\n }\n />\n \n \n );\n};\n","import { useLocalStorage } from '@rehooks/local-storage';\nimport type {\n Work,\n NewWorkWithWorkingForm,\n NewWorkWithWorking,\n} from '@/interface';\nimport { initNewWorkWithWorkingForm } from '@/const';\n\ntype UseDailyReportTypeCPersist = {\n userId: string;\n dailyReportDate: string;\n defaultValue: Work[];\n};\n\nexport const useDailyReportTypeCPersist = ({\n userId,\n dailyReportDate,\n defaultValue,\n}: UseDailyReportTypeCPersist) => {\n const DNDD = `dr_newwork_${userId}_${dailyReportDate}`;\n const newWorkState = useLocalStorage(\n DNDD,\n initNewWorkWithWorkingForm,\n );\n\n const WDNDD = `dr_workingwork_${userId}_${dailyReportDate}`;\n const workingWorkState = useLocalStorage(\n WDNDD,\n null,\n );\n\n const DDD = `dr_works_${userId}_${dailyReportDate}`;\n const worksState = useLocalStorage>(DDD, defaultValue);\n\n return { newWorkState, workingWorkState, worksState };\n};\n","import React, { FC, useCallback } from 'react';\nimport { List, Empty, Space } from 'antd-mobile';\nimport { EditSFill, MinusCircleOutline } from 'antd-mobile-icons';\nimport type { NewWorkWithWorking } from '@/interface';\n\ntype WorkingWorkContentProps = {\n work: NewWorkWithWorking;\n onClickEdit: (work: NewWorkWithWorking) => void;\n onClickDelete: (work: NewWorkWithWorking) => void;\n};\n\nexport const WorkingWorkContent: FC = ({\n work,\n onClickEdit,\n onClickDelete,\n}) => {\n const handleClickEdit = useCallback(() => onClickEdit(work), [work]);\n const handleClickDelete = useCallback(() => onClickDelete(work), [work]);\n\n return (\n \n {work ? (\n \n \n \n }\n extra={\n \n \n \n }\n >\n \n {work.startAt}〜\n {work.workContent.name}\n \n \n ) : (\n }\n >\n 開始している作業がありません\n \n )}\n \n );\n};\n","import React, { FC, ChangeEvent, useState, useMemo } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport Select from 'react-select';\nimport { Button, Space } from 'antd-mobile';\nimport {\n useDailyReportRepresentTypeCControl,\n useDailyReportTypeCWorkEditDialogControl,\n} from '@/hooks';\nimport { useUsersWithUnsubmit } from '@/hooks/api';\nimport { Work, DispatchReturn, User } from '@/interface';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\nimport {\n formKind,\n employeeSelectFilterOption,\n} from '@/store/dailyreports-configure';\nimport {\n workContentsState,\n workContentsWithCascadeState,\n} from '@/store/dailyreports/atom';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport { WorkItemCascader } from '@/components/form/dailyReport/workProperty';\nimport { WorkContentList } from './WorkContentList';\nimport { WorkEntityListWithHidden } from './WorkEntityListWithHidden';\nimport { ThunksWithHidden } from './ThunksWithHidden';\n\ntype DailyReportRepresentationViewTypeCFormProps = {\n date: string;\n setDate: (event: ChangeEvent) => void;\n newWorkState: DispatchReturn;\n worksState: DispatchReturn>;\n users: Array;\n submitText?: string;\n};\n\nexport const DailyReportRepresentationViewTypeCForm: FC<\n DailyReportRepresentationViewTypeCFormProps\n> = ({\n date,\n setDate,\n worksState,\n newWorkState,\n users,\n submitText = '提出',\n}) => {\n const formKindConfigure = useRecoilValue(formKind);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n const filterOption = useRecoilValue(employeeSelectFilterOption);\n\n const { users: fetchUsers, isLoading } = useUsersWithUnsubmit(\n { target: date },\n users,\n );\n const [selectedUsers, setSelectedUsers] = useState<\n Array<{ label: string; value: string }>\n >([]);\n const handleChangePerson = (\n value: Array<{ label: string; value: string }>,\n ) => {\n setSelectedUsers(value);\n };\n const options = useMemo>(\n () =>\n fetchUsers.map((user) => ({\n label: user.name,\n value: user.id.toString(),\n })),\n [fetchUsers],\n );\n\n const {\n newWork,\n works,\n handleChange,\n handleChangeStartAt,\n handleChangeEndAt,\n handleAdd,\n handleDelete,\n handleClickBreaktime,\n } = useDailyReportRepresentTypeCControl({\n worksState,\n newWorkState,\n });\n const { handleWorkEdit } = useDailyReportTypeCWorkEditDialogControl({\n worksState,\n });\n\n return (\n <>\n \n \n \n \n \n\n \n \n '従業員が見つかりません'}\n theme={reactSelectStyle}\n isMulti\n closeMenuOnSelect={false}\n isClearable\n isSearchable\n filterOption={filterOption}\n isLoading={isLoading}\n />\n {selectedUsers.map((user) => (\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 \n \n\n
\n \n {submitText}\n \n
\n \n );\n};\n","import React, { FC, useCallback } from 'react';\nimport { List, Empty, Space, Stepper } from 'antd-mobile';\nimport { EditSFill, MinusCircleOutline } from 'antd-mobile-icons';\nimport type { NewWorkWithWorking } from '@/interface';\n\ntype WorkingWorkContentProps = {\n work: NewWorkWithWorking;\n onClickEdit: (work: NewWorkWithWorking) => void;\n onClickDelete: (work: NewWorkWithWorking) => void;\n onQuantityChange: (quantity: number) => void;\n};\n\nexport const WorkingWorkContent: FC = ({\n work,\n onClickEdit,\n onClickDelete,\n onQuantityChange,\n }) => {\n const handleQuantityChange = (val: string) => {\n const value = Number(val);\n if (!Number.isNaN(value)) {\n onQuantityChange(value);\n }\n };\n\n const handleClickEdit = useCallback(() => onClickEdit(work), [work, onClickEdit]);\n const handleClickDelete = useCallback(() => onClickDelete(work), [work, onClickDelete]);\n\n return (\n \n {work ? (\n \n \n \n }\n extra={\n \n \n \n }\n >\n \n {work.startAt}〜\n {work.workContent.name}\n \n \n \n ) : (\n }\n >\n 開始している作業がありません\n \n )}\n \n );\n};\n","import React, { FC } from 'react';\nimport { List, Empty, Space } from 'antd-mobile';\nimport { EditSFill, MinusCircleOutline } from 'antd-mobile-icons';\nimport type { Work } from '@/interface';\nimport 'tailwindcss/tailwind.css';\n\ntype WorkContentListProps = {\n works: Array;\n onClickEdit: (index: number, work: Work) => void;\n onClickDelete: (index: number, work: Work) => void;\n};\n\nexport const WorkContentList: FC = ({\n works,\n onClickEdit,\n onClickDelete,\n}) => (\n \n {works.length === 0 && (\n \n \n \n )}\n {works.map((work, idx) => (\n \n onClickDelete(idx, work)}\n />\n \n }\n extra={\n \n }\n >\n \n
\n
{work.startAt}〜
\n
{work.endAt}
\n
\n
{work.workContent.name}
\n
{work.quantity}
\n
\n \n ))}\n
\n);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nimport * as cookie from 'cookie';\nexport function hasDocumentCookie() {\n // Can we get/set cookies on document.cookie?\n return (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && typeof document.cookie === 'string';\n}\nexport function cleanCookies() {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c.replace(/^ +/, '').replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n}\nexport function parseCookies(cookies, options) {\n if (typeof cookies === 'string') {\n return cookie.parse(cookies, options);\n } else if (_typeof(cookies) === 'object' && cookies !== null) {\n return cookies;\n } else {\n return {};\n }\n}\nexport function isParsingCookie(value, doNotParse) {\n if (typeof doNotParse === 'undefined') {\n // We guess if the cookie start with { or [, it has been serialized\n doNotParse = !value || value[0] !== '{' && value[0] !== '[' && value[0] !== '\"';\n }\n\n return !doNotParse;\n}\nexport function readCookie(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var cleanValue = cleanupCookieValue(value);\n\n if (isParsingCookie(cleanValue, options.doNotParse)) {\n try {\n return JSON.parse(cleanValue);\n } catch (e) {// At least we tried\n }\n } // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n\n\n return value;\n}\n\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n\n return value;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport * as cookie from 'cookie';\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\n\nvar Cookies =\n/** @class */\nfunction () {\n function Cookies(cookies, options) {\n var _this = this;\n\n this.changeListeners = [];\n this.HAS_DOCUMENT_COOKIE = false;\n this.cookies = parseCookies(cookies, options);\n new Promise(function () {\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n })[\"catch\"](function () {});\n }\n\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n\n this.cookies = cookie.parse(document.cookie, parseOptions);\n };\n\n Cookies.prototype._emitChange = function (params) {\n for (var i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n };\n\n Cookies.prototype.get = function (name, options, parseOptions) {\n if (options === void 0) {\n options = {};\n }\n\n this._updateBrowserValues(parseOptions);\n\n return readCookie(this.cookies[name], options);\n };\n\n Cookies.prototype.getAll = function (options, parseOptions) {\n if (options === void 0) {\n options = {};\n }\n\n this._updateBrowserValues(parseOptions);\n\n var result = {};\n\n for (var name_1 in this.cookies) {\n result[name_1] = readCookie(this.cookies[name_1], options);\n }\n\n return result;\n };\n\n Cookies.prototype.set = function (name, value, options) {\n var _a;\n\n if (_typeof(value) === 'object') {\n value = JSON.stringify(value);\n }\n\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\n\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, value, options);\n }\n\n this._emitChange({\n name: name,\n value: value,\n options: options\n });\n };\n\n Cookies.prototype.remove = function (name, options) {\n var finalOptions = options = __assign(__assign({}, options), {\n expires: new Date(1970, 1, 1, 0, 0, 1),\n maxAge: 0\n });\n\n this.cookies = __assign({}, this.cookies);\n delete this.cookies[name];\n\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, '', finalOptions);\n }\n\n this._emitChange({\n name: name,\n value: undefined,\n options: options\n });\n };\n\n Cookies.prototype.addChangeListener = function (callback) {\n this.changeListeners.push(callback);\n };\n\n Cookies.prototype.removeChangeListener = function (callback) {\n var idx = this.changeListeners.indexOf(callback);\n\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n };\n\n return Cookies;\n}();\n\nexport default Cookies;","import Cookies from './Cookies';\nexport default Cookies;","import { useRef as t, useReducer as e, useEffect as n } from \"react\";\nimport r from \"universal-cookie\";\n\nvar o = \"@USE_REDUCER_PERSISTED_SET_FULL_STATE\",\n a = function a(t, e, n) {\n var o = n instanceof r;\n\n try {\n var a = o ? n.get(t, !0) : n.getItem(t);\n return void 0 !== a && a ? o ? a : JSON.parse(a) : \"function\" == typeof e ? e() : void 0 !== e ? e : {};\n } catch (t) {\n return e;\n }\n};\n\nexport default function (i, c, u, s, f) {\n void 0 === s && (s = \"local\");\n\n var l,\n p = f || {},\n y = p.step,\n v = void 0 === y ? 1e3 : y,\n d = function (t, e) {\n if (null == t) return {};\n var n,\n r,\n o = {},\n a = Object.keys(t);\n\n for (r = 0; r < a.length; r++) {\n e.indexOf(n = a[r]) >= 0 || (o[n] = t[n]);\n }\n\n return o;\n }(p, [\"step\"]),\n S = t();\n\n try {\n switch (s) {\n case \"local\":\n l = localStorage, beark;\n\n case \"session\":\n l = sessionStorage;\n break;\n\n case \"cookie\":\n l = new r();\n }\n } catch (t) {}\n\n var g = e(function (t) {\n return function (e, n) {\n var r = n.type,\n a = n.payload;\n return r === o ? a : t(e, {\n type: r,\n payload: a\n });\n };\n }(c), null, function () {\n return a(i, u, l);\n }),\n E = g[0],\n k = g[1],\n O = t(E);\n return n(function () {\n \"cookie\" === s ? S.current = setInterval(function () {\n JSON.stringify(l.get(i)) !== JSON.stringify(O.current) && k({\n type: o,\n payload: a(i, u, l)\n });\n }, v) : window.addEventListener(\"storage\", function (t) {\n t.key === i && k({\n type: o,\n payload: JSON.parse(t.newValue)\n });\n });\n }, []), n(function () {\n O.current = E, function (t, e, n, o) {\n n instanceof r ? n.set(t, e, o || null) : n.setItem(t, JSON.stringify(e));\n }(i, E, l, d);\n }, [E]), [E, k];\n}","import React, { FC, useMemo } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport useReducerPersisted from 'use-reducer-persisted';\nimport Select, { createFilter } from 'react-select';\nimport { SectionLayout } from '@/components/SectionLayout';\nimport { FormGroup } from '@/components/FormGroup';\nimport DailyReportTimespanWorksForm from '@/components/DailyReportViewTypeB/DailyReportTimespanWorksForm';\nimport { getWorks4Timespan } from '@/components/DailyReportViewTypeB/operations';\nimport { Work, TimeAlias, User } from '@/interface';\nimport { reactSelectStyle } from '@/lib/react-select/reactSelectStyle';\nimport { useUsersWithUnsubmit } from '@/hooks/api';\nimport {\n workPropertiesState,\n workPropertiesWithCascadeState,\n workContentsState,\n workContentsWithCascadeState,\n dailyreportState,\n useDRDispatch,\n} from '@/store/dailyreports/atom';\nimport { defaultState, reducer } from './state';\n\ninterface Config {\n ignoreCase?: boolean;\n ignoreAccents?: boolean;\n trim?: boolean;\n matchFrom?: 'any' | 'start';\n}\n\nconst filterConfig: Config = {\n ignoreCase: true,\n ignoreAccents: false,\n trim: false,\n matchFrom: 'start',\n};\n\nexport interface DailyReportsRepresentationContainerProps {\n dailyReportWorks: Array;\n timespanInfo: Array;\n users: Array;\n}\n\nconst DailyReportsRepresentationContainer: FC<\n DailyReportsRepresentationContainerProps\n> = ({ dailyReportWorks, timespanInfo, users }) => {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n const workProperties = useRecoilValue(workPropertiesState);\n const workPropertyOptions = useRecoilValue(workPropertiesWithCascadeState);\n const workContents = useRecoilValue(workContentsState);\n const workContentOptions = useRecoilValue(workContentsWithCascadeState);\n\n const { users: fetchUsers, isLoading } = useUsersWithUnsubmit(\n { target: date },\n users,\n );\n\n const options = useMemo(\n () => fetchUsers.map((user) => ({ label: user.name, value: user.id })),\n [fetchUsers],\n );\n\n const defaultValue = useMemo(\n () => getWorks4Timespan(dailyReportWorks, timespanInfo),\n [timespanInfo, dailyReportWorks],\n );\n\n const [state, dispatch] = useReducerPersisted(\n 'representation',\n reducer,\n {\n ...defaultState,\n works: defaultValue,\n },\n 'session',\n );\n\n const { works, selectedUsers } = state;\n\n const onDailyReportDate = (ev) => {\n setDate(ev);\n dispatch({ type: 'SET_EMPLOYEES', payload: [] });\n };\n\n const setWorks = (v: Work[]) => {\n dispatch({ type: 'SET_WORKS', payload: { works: v } });\n };\n\n const handleChangeNewWork = (idx: number | null, work: Work) => {\n if (idx === null) {\n setWorks([...works, work]);\n } else {\n works[idx] = work;\n setWorks([...works]);\n }\n };\n\n const handleOvertimeDelete = (index: number) => {\n const newWorks = works.filter((_, idx) => idx !== index);\n setWorks(newWorks);\n };\n\n const onChangePerson = (value: Array) => {\n dispatch({ type: 'SET_EMPLOYEES', payload: value });\n };\n\n return (\n <>\n \n \n \n \n \n\n \n \n '従業員が見つかりません'}\n theme={reactSelectStyle}\n isMulti\n closeMenuOnSelect={false}\n isClearable\n isSearchable\n filterOption={createFilter(filterConfig)}\n isLoading={isLoading}\n />\n {selectedUsers.map((user) => (\n \n ))}\n \n \n\n \n \n \n \n );\n};\n\nexport default DailyReportsRepresentationContainer;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n before = _this.prepend ? _this.container.firstChild : _this.before;\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-ms-input-placeholder|-moz-read-write|-moz-read-only){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = areInputsEqual;\n }\n\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n function memoized() {\n var newArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n\n return memoized;\n}\n\nexport default memoizeOne;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nexport function mergeLocale(base, patch) {\n function merge(a, b) {\n if (_typeof(a) !== 'object' || _typeof(b) !== 'object' || Array.isArray(a) || Array.isArray(b)) {\n return b !== undefined ? b : a;\n }\n\n var result = {};\n\n for (var key in a) {\n if (a.hasOwnProperty(key)) {\n result[key] = merge(a[key], b[key]);\n }\n }\n\n return result;\n }\n\n return merge(base, patch);\n}","var typeTemplate = '${label} is not a valid ${type}';\nexport var base = {\n locale: 'en',\n common: {\n confirm: 'Confirm',\n cancel: 'Cancel',\n loading: 'Loading'\n },\n Calendar: {\n markItems: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n renderYearAndMonth: function renderYearAndMonth(year, month) {\n return \"\".concat(year, \"/\").concat(month);\n }\n },\n Cascader: {\n placeholder: 'Selecting'\n },\n Dialog: {\n ok: 'OK'\n },\n DatePicker: {\n tillNow: 'Till Now'\n },\n ErrorBlock: {\n \"default\": {\n title: 'Oops, something went wrong',\n description: 'Please wait a minute and try again'\n },\n busy: {\n title: 'Oops, not loading',\n description: 'Try to refresh the page'\n },\n disconnected: {\n title: 'Network is busy',\n description: 'Try to refresh the page'\n },\n empty: {\n title: \"Hmm, couldn't find that...\",\n description: 'Want to try a new search?'\n }\n },\n Form: {\n required: 'Required',\n optional: 'Optional',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n ImageUploader: {\n uploading: 'Uploading...',\n upload: 'Upload'\n },\n InfiniteScroll: {\n noMore: 'No more',\n failedToLoad: 'Failed to load',\n retry: 'Retry'\n },\n Input: {\n clear: 'clear'\n },\n Mask: {\n name: 'Mask'\n },\n Modal: {\n ok: 'OK'\n },\n PasscodeInput: {\n name: 'Passcode Input'\n },\n PullToRefresh: {\n pulling: 'Scroll down to refresh',\n canRelease: 'Release to refresh immediately',\n complete: 'Refresh successful'\n },\n SearchBar: {\n name: 'Search Bar'\n },\n Slider: {\n name: 'Slider'\n },\n Stepper: {\n decrease: 'decrease',\n increase: 'increase'\n },\n Switch: {\n name: 'Switch'\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*!\n * validate.js 0.13.1\n *\n * (c) 2013-2019 Nicklas Ansman, 2013 Wrapp\n * Validate.js may be freely distributed under the MIT license.\n * For all details and documentation:\n * http://validatejs.org/\n */\n(function (exports, module, define) {\n \"use strict\"; // The main function that calls the validators specified by the constraints.\n // The options are the following:\n // - format (string) - An option that controls how the returned value is formatted\n // * flat - Returns a flat array of just the error messages\n // * grouped - Returns the messages grouped by attribute (default)\n // * detailed - Returns an array of the raw validation data\n // - fullMessages (boolean) - If `true` (default) the attribute name is prepended to the error.\n //\n // Please note that the options are also passed to each validator.\n\n var validate = function validate(attributes, constraints, options) {\n options = v.extend({}, v.options, options);\n var results = v.runValidations(attributes, constraints, options),\n attr,\n validator;\n\n if (results.some(function (r) {\n return v.isPromise(r.error);\n })) {\n throw new Error(\"Use validate.async if you want support for promises\");\n }\n\n return validate.processValidationResults(results, options);\n };\n\n var v = validate; // Copies over attributes from one or more sources to a single destination.\n // Very much similar to underscore's extend.\n // The first argument is the target object and the remaining arguments will be\n // used as sources.\n\n v.extend = function (obj) {\n [].slice.call(arguments, 1).forEach(function (source) {\n for (var attr in source) {\n obj[attr] = source[attr];\n }\n });\n return obj;\n };\n\n v.extend(validate, {\n // This is the version of the library as a semver.\n // The toString function will allow it to be coerced into a string\n version: {\n major: 0,\n minor: 13,\n patch: 1,\n metadata: null,\n toString: function toString() {\n var version = v.format(\"%{major}.%{minor}.%{patch}\", v.version);\n\n if (!v.isEmpty(v.version.metadata)) {\n version += \"+\" + v.version.metadata;\n }\n\n return version;\n }\n },\n // Below is the dependencies that are used in validate.js\n // The constructor of the Promise implementation.\n // If you are using Q.js, RSVP or any other A+ compatible implementation\n // override this attribute to be the constructor of that promise.\n // Since jQuery promises aren't A+ compatible they won't work.\n Promise: typeof Promise !== \"undefined\" ? Promise :\n /* istanbul ignore next */\n null,\n EMPTY_STRING_REGEXP: /^\\s*$/,\n // Runs the validators specified by the constraints object.\n // Will return an array of the format:\n // [{attribute: \"\", error: \"\"}, ...]\n runValidations: function runValidations(attributes, constraints, options) {\n var results = [],\n attr,\n validatorName,\n value,\n validators,\n validator,\n validatorOptions,\n error;\n\n if (v.isDomElement(attributes) || v.isJqueryElement(attributes)) {\n attributes = v.collectFormValues(attributes);\n } // Loops through each constraints, finds the correct validator and run it.\n\n\n for (attr in constraints) {\n value = v.getDeepObjectValue(attributes, attr); // This allows the constraints for an attribute to be a function.\n // The function will be called with the value, attribute name, the complete dict of\n // attributes as well as the options and constraints passed in.\n // This is useful when you want to have different\n // validations depending on the attribute value.\n\n validators = v.result(constraints[attr], value, attributes, attr, options, constraints);\n\n for (validatorName in validators) {\n validator = v.validators[validatorName];\n\n if (!validator) {\n error = v.format(\"Unknown validator %{name}\", {\n name: validatorName\n });\n throw new Error(error);\n }\n\n validatorOptions = validators[validatorName]; // This allows the options to be a function. The function will be\n // called with the value, attribute name, the complete dict of\n // attributes as well as the options and constraints passed in.\n // This is useful when you want to have different\n // validations depending on the attribute value.\n\n validatorOptions = v.result(validatorOptions, value, attributes, attr, options, constraints);\n\n if (!validatorOptions) {\n continue;\n }\n\n results.push({\n attribute: attr,\n value: value,\n validator: validatorName,\n globalOptions: options,\n attributes: attributes,\n options: validatorOptions,\n error: validator.call(validator, value, validatorOptions, attr, attributes, options)\n });\n }\n }\n\n return results;\n },\n // Takes the output from runValidations and converts it to the correct\n // output format.\n processValidationResults: function processValidationResults(errors, options) {\n errors = v.pruneEmptyErrors(errors, options);\n errors = v.expandMultipleErrors(errors, options);\n errors = v.convertErrorMessages(errors, options);\n var format = options.format || \"grouped\";\n\n if (typeof v.formatters[format] === 'function') {\n errors = v.formatters[format](errors);\n } else {\n throw new Error(v.format(\"Unknown format %{format}\", options));\n }\n\n return v.isEmpty(errors) ? undefined : errors;\n },\n // Runs the validations with support for promises.\n // This function will return a promise that is settled when all the\n // validation promises have been completed.\n // It can be called even if no validations returned a promise.\n async: function async(attributes, constraints, options) {\n options = v.extend({}, v.async.options, options);\n\n var WrapErrors = options.wrapErrors || function (errors) {\n return errors;\n }; // Removes unknown attributes\n\n\n if (options.cleanAttributes !== false) {\n attributes = v.cleanAttributes(attributes, constraints);\n }\n\n var results = v.runValidations(attributes, constraints, options);\n return new v.Promise(function (resolve, reject) {\n v.waitForResults(results).then(function () {\n var errors = v.processValidationResults(results, options);\n\n if (errors) {\n reject(new WrapErrors(errors, options, attributes, constraints));\n } else {\n resolve(attributes);\n }\n }, function (err) {\n reject(err);\n });\n });\n },\n single: function single(value, constraints, options) {\n options = v.extend({}, v.single.options, options, {\n format: \"flat\",\n fullMessages: false\n });\n return v({\n single: value\n }, {\n single: constraints\n }, options);\n },\n // Returns a promise that is resolved when all promises in the results array\n // are settled. The promise returned from this function is always resolved,\n // never rejected.\n // This function modifies the input argument, it replaces the promises\n // with the value returned from the promise.\n waitForResults: function waitForResults(results) {\n // Create a sequence of all the results starting with a resolved promise.\n return results.reduce(function (memo, result) {\n // If this result isn't a promise skip it in the sequence.\n if (!v.isPromise(result.error)) {\n return memo;\n }\n\n return memo.then(function () {\n return result.error.then(function (error) {\n result.error = error || null;\n });\n });\n }, new v.Promise(function (r) {\n r();\n })); // A resolved promise\n },\n // If the given argument is a call: function the and: function return the value\n // otherwise just return the value. Additional arguments will be passed as\n // arguments to the function.\n // Example:\n // ```\n // result('foo') // 'foo'\n // result(Math.max, 1, 2) // 2\n // ```\n result: function result(value) {\n var args = [].slice.call(arguments, 1);\n\n if (typeof value === 'function') {\n value = value.apply(null, args);\n }\n\n return value;\n },\n // Checks if the value is a number. This function does not consider NaN a\n // number like many other `isNumber` functions do.\n isNumber: function isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n },\n // Returns false if the object is not a function\n isFunction: function isFunction(value) {\n return typeof value === 'function';\n },\n // A simple check to verify that the value is an integer. Uses `isNumber`\n // and a simple modulo check.\n isInteger: function isInteger(value) {\n return v.isNumber(value) && value % 1 === 0;\n },\n // Checks if the value is a boolean\n isBoolean: function isBoolean(value) {\n return typeof value === 'boolean';\n },\n // Uses the `Object` function to check if the given argument is an object.\n isObject: function isObject(obj) {\n return obj === Object(obj);\n },\n // Simply checks if the object is an instance of a date\n isDate: function isDate(obj) {\n return obj instanceof Date;\n },\n // Returns false if the object is `null` of `undefined`\n isDefined: function isDefined(obj) {\n return obj !== null && obj !== undefined;\n },\n // Checks if the given argument is a promise. Anything with a `then`\n // function is considered a promise.\n isPromise: function isPromise(p) {\n return !!p && v.isFunction(p.then);\n },\n isJqueryElement: function isJqueryElement(o) {\n return o && v.isString(o.jquery);\n },\n isDomElement: function isDomElement(o) {\n if (!o) {\n return false;\n }\n\n if (!o.querySelectorAll || !o.querySelector) {\n return false;\n }\n\n if (v.isObject(document) && o === document) {\n return true;\n } // http://stackoverflow.com/a/384380/699304\n\n /* istanbul ignore else */\n\n\n if ((typeof HTMLElement === \"undefined\" ? \"undefined\" : _typeof(HTMLElement)) === \"object\") {\n return o instanceof HTMLElement;\n } else {\n return o && _typeof(o) === \"object\" && o !== null && o.nodeType === 1 && typeof o.nodeName === \"string\";\n }\n },\n isEmpty: function isEmpty(value) {\n var attr; // Null and undefined are empty\n\n if (!v.isDefined(value)) {\n return true;\n } // functions are non empty\n\n\n if (v.isFunction(value)) {\n return false;\n } // Whitespace only strings are empty\n\n\n if (v.isString(value)) {\n return v.EMPTY_STRING_REGEXP.test(value);\n } // For arrays we use the length property\n\n\n if (v.isArray(value)) {\n return value.length === 0;\n } // Dates have no attributes but aren't empty\n\n\n if (v.isDate(value)) {\n return false;\n } // If we find at least one property we consider it non empty\n\n\n if (v.isObject(value)) {\n for (attr in value) {\n return false;\n }\n\n return true;\n }\n\n return false;\n },\n // Formats the specified strings with the given values like so:\n // ```\n // format(\"Foo: %{foo}\", {foo: \"bar\"}) // \"Foo bar\"\n // ```\n // If you want to write %{...} without having it replaced simply\n // prefix it with % like this `Foo: %%{foo}` and it will be returned\n // as `\"Foo: %{foo}\"`\n format: v.extend(function (str, vals) {\n if (!v.isString(str)) {\n return str;\n }\n\n return str.replace(v.format.FORMAT_REGEXP, function (m0, m1, m2) {\n if (m1 === '%') {\n return \"%{\" + m2 + \"}\";\n } else {\n return String(vals[m2]);\n }\n });\n }, {\n // Finds %{key} style patterns in the given string\n FORMAT_REGEXP: /(%?)%\\{([^\\}]+)\\}/g\n }),\n // \"Prettifies\" the given string.\n // Prettifying means replacing [.\\_-] with spaces as well as splitting\n // camel case words.\n prettify: function prettify(str) {\n if (v.isNumber(str)) {\n // If there are more than 2 decimals round it to two\n if (str * 100 % 1 === 0) {\n return \"\" + str;\n } else {\n return parseFloat(Math.round(str * 100) / 100).toFixed(2);\n }\n }\n\n if (v.isArray(str)) {\n return str.map(function (s) {\n return v.prettify(s);\n }).join(\", \");\n }\n\n if (v.isObject(str)) {\n if (!v.isDefined(str.toString)) {\n return JSON.stringify(str);\n }\n\n return str.toString();\n } // Ensure the string is actually a string\n\n\n str = \"\" + str;\n return str // Splits keys separated by periods\n .replace(/([^\\s])\\.([^\\s])/g, '$1 $2') // Removes backslashes\n .replace(/\\\\+/g, '') // Replaces - and - with space\n .replace(/[_-]/g, ' ') // Splits camel cased words\n .replace(/([a-z])([A-Z])/g, function (m0, m1, m2) {\n return \"\" + m1 + \" \" + m2.toLowerCase();\n }).toLowerCase();\n },\n stringifyValue: function stringifyValue(value, options) {\n var prettify = options && options.prettify || v.prettify;\n return prettify(value);\n },\n isString: function isString(value) {\n return typeof value === 'string';\n },\n isArray: function isArray(value) {\n return {}.toString.call(value) === '[object Array]';\n },\n // Checks if the object is a hash, which is equivalent to an object that\n // is neither an array nor a function.\n isHash: function isHash(value) {\n return v.isObject(value) && !v.isArray(value) && !v.isFunction(value);\n },\n contains: function contains(obj, value) {\n if (!v.isDefined(obj)) {\n return false;\n }\n\n if (v.isArray(obj)) {\n return obj.indexOf(value) !== -1;\n }\n\n return value in obj;\n },\n unique: function unique(array) {\n if (!v.isArray(array)) {\n return array;\n }\n\n return array.filter(function (el, index, array) {\n return array.indexOf(el) == index;\n });\n },\n forEachKeyInKeypath: function forEachKeyInKeypath(object, keypath, callback) {\n if (!v.isString(keypath)) {\n return undefined;\n }\n\n var key = \"\",\n i,\n escape = false;\n\n for (i = 0; i < keypath.length; ++i) {\n switch (keypath[i]) {\n case '.':\n if (escape) {\n escape = false;\n key += '.';\n } else {\n object = callback(object, key, false);\n key = \"\";\n }\n\n break;\n\n case '\\\\':\n if (escape) {\n escape = false;\n key += '\\\\';\n } else {\n escape = true;\n }\n\n break;\n\n default:\n escape = false;\n key += keypath[i];\n break;\n }\n }\n\n return callback(object, key, true);\n },\n getDeepObjectValue: function getDeepObjectValue(obj, keypath) {\n if (!v.isObject(obj)) {\n return undefined;\n }\n\n return v.forEachKeyInKeypath(obj, keypath, function (obj, key) {\n if (v.isObject(obj)) {\n return obj[key];\n }\n });\n },\n // This returns an object with all the values of the form.\n // It uses the input name as key and the value as value\n // So for example this:\n // \n // would return:\n // {email: \"foo@bar.com\"}\n collectFormValues: function collectFormValues(form, options) {\n var values = {},\n i,\n j,\n input,\n inputs,\n option,\n value;\n\n if (v.isJqueryElement(form)) {\n form = form[0];\n }\n\n if (!form) {\n return values;\n }\n\n options = options || {};\n inputs = form.querySelectorAll(\"input[name], textarea[name]\");\n\n for (i = 0; i < inputs.length; ++i) {\n input = inputs.item(i);\n\n if (v.isDefined(input.getAttribute(\"data-ignored\"))) {\n continue;\n }\n\n var name = input.name.replace(/\\./g, \"\\\\\\\\.\");\n value = v.sanitizeFormValue(input.value, options);\n\n if (input.type === \"number\") {\n value = value ? +value : null;\n } else if (input.type === \"checkbox\") {\n if (input.attributes.value) {\n if (!input.checked) {\n value = values[name] || null;\n }\n } else {\n value = input.checked;\n }\n } else if (input.type === \"radio\") {\n if (!input.checked) {\n value = values[name] || null;\n }\n }\n\n values[name] = value;\n }\n\n inputs = form.querySelectorAll(\"select[name]\");\n\n for (i = 0; i < inputs.length; ++i) {\n input = inputs.item(i);\n\n if (v.isDefined(input.getAttribute(\"data-ignored\"))) {\n continue;\n }\n\n if (input.multiple) {\n value = [];\n\n for (j in input.options) {\n option = input.options[j];\n\n if (option && option.selected) {\n value.push(v.sanitizeFormValue(option.value, options));\n }\n }\n } else {\n var _val = typeof input.options[input.selectedIndex] !== 'undefined' ? input.options[input.selectedIndex].value :\n /* istanbul ignore next */\n '';\n\n value = v.sanitizeFormValue(_val, options);\n }\n\n values[input.name] = value;\n }\n\n return values;\n },\n sanitizeFormValue: function sanitizeFormValue(value, options) {\n if (options.trim && v.isString(value)) {\n value = value.trim();\n }\n\n if (options.nullify !== false && value === \"\") {\n return null;\n }\n\n return value;\n },\n capitalize: function capitalize(str) {\n if (!v.isString(str)) {\n return str;\n }\n\n return str[0].toUpperCase() + str.slice(1);\n },\n // Remove all errors who's error attribute is empty (null or undefined)\n pruneEmptyErrors: function pruneEmptyErrors(errors) {\n return errors.filter(function (error) {\n return !v.isEmpty(error.error);\n });\n },\n // In\n // [{error: [\"err1\", \"err2\"], ...}]\n // Out\n // [{error: \"err1\", ...}, {error: \"err2\", ...}]\n //\n // All attributes in an error with multiple messages are duplicated\n // when expanding the errors.\n expandMultipleErrors: function expandMultipleErrors(errors) {\n var ret = [];\n errors.forEach(function (error) {\n // Removes errors without a message\n if (v.isArray(error.error)) {\n error.error.forEach(function (msg) {\n ret.push(v.extend({}, error, {\n error: msg\n }));\n });\n } else {\n ret.push(error);\n }\n });\n return ret;\n },\n // Converts the error mesages by prepending the attribute name unless the\n // message is prefixed by ^\n convertErrorMessages: function convertErrorMessages(errors, options) {\n options = options || {};\n var ret = [],\n prettify = options.prettify || v.prettify;\n errors.forEach(function (errorInfo) {\n var error = v.result(errorInfo.error, errorInfo.value, errorInfo.attribute, errorInfo.options, errorInfo.attributes, errorInfo.globalOptions);\n\n if (!v.isString(error)) {\n ret.push(errorInfo);\n return;\n }\n\n if (error[0] === '^') {\n error = error.slice(1);\n } else if (options.fullMessages !== false) {\n error = v.capitalize(prettify(errorInfo.attribute)) + \" \" + error;\n }\n\n error = error.replace(/\\\\\\^/g, \"^\");\n error = v.format(error, {\n value: v.stringifyValue(errorInfo.value, options)\n });\n ret.push(v.extend({}, errorInfo, {\n error: error\n }));\n });\n return ret;\n },\n // In:\n // [{attribute: \"\", ...}]\n // Out:\n // {\"\": [{attribute: \"\", ...}]}\n groupErrorsByAttribute: function groupErrorsByAttribute(errors) {\n var ret = {};\n errors.forEach(function (error) {\n var list = ret[error.attribute];\n\n if (list) {\n list.push(error);\n } else {\n ret[error.attribute] = [error];\n }\n });\n return ret;\n },\n // In:\n // [{error: \"\", ...}, {error: \"\", ...}]\n // Out:\n // [\"\", \"\"]\n flattenErrorsToArray: function flattenErrorsToArray(errors) {\n return errors.map(function (error) {\n return error.error;\n }).filter(function (value, index, self) {\n return self.indexOf(value) === index;\n });\n },\n cleanAttributes: function cleanAttributes(attributes, whitelist) {\n function whitelistCreator(obj, key, last) {\n if (v.isObject(obj[key])) {\n return obj[key];\n }\n\n return obj[key] = last ? true : {};\n }\n\n function buildObjectWhitelist(whitelist) {\n var ow = {},\n lastObject,\n attr;\n\n for (attr in whitelist) {\n if (!whitelist[attr]) {\n continue;\n }\n\n v.forEachKeyInKeypath(ow, attr, whitelistCreator);\n }\n\n return ow;\n }\n\n function cleanRecursive(attributes, whitelist) {\n if (!v.isObject(attributes)) {\n return attributes;\n }\n\n var ret = v.extend({}, attributes),\n w,\n attribute;\n\n for (attribute in attributes) {\n w = whitelist[attribute];\n\n if (v.isObject(w)) {\n ret[attribute] = cleanRecursive(ret[attribute], w);\n } else if (!w) {\n delete ret[attribute];\n }\n }\n\n return ret;\n }\n\n if (!v.isObject(whitelist) || !v.isObject(attributes)) {\n return {};\n }\n\n whitelist = buildObjectWhitelist(whitelist);\n return cleanRecursive(attributes, whitelist);\n },\n exposeModule: function exposeModule(validate, root, exports, module, define) {\n if (exports) {\n if (module && module.exports) {\n exports = module.exports = validate;\n }\n\n exports.validate = validate;\n } else {\n root.validate = validate;\n\n if (validate.isFunction(define) && define.amd) {\n define([], function () {\n return validate;\n });\n }\n }\n },\n warn: function warn(msg) {\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(\"[validate.js] \" + msg);\n }\n },\n error: function error(msg) {\n if (typeof console !== \"undefined\" && console.error) {\n console.error(\"[validate.js] \" + msg);\n }\n }\n });\n validate.validators = {\n // Presence validates that the value isn't empty\n presence: function presence(value, options) {\n options = v.extend({}, this.options, options);\n\n if (options.allowEmpty !== false ? !v.isDefined(value) : v.isEmpty(value)) {\n return options.message || this.message || \"can't be blank\";\n }\n },\n length: function length(value, options, attribute) {\n // Empty values are allowed\n if (!v.isDefined(value)) {\n return;\n }\n\n options = v.extend({}, this.options, options);\n\n var is = options.is,\n maximum = options.maximum,\n minimum = options.minimum,\n tokenizer = options.tokenizer || function (val) {\n return val;\n },\n err,\n errors = [];\n\n value = tokenizer(value);\n var length = value.length;\n\n if (!v.isNumber(length)) {\n return options.message || this.notValid || \"has an incorrect length\";\n } // Is checks\n\n\n if (v.isNumber(is) && length !== is) {\n err = options.wrongLength || this.wrongLength || \"is the wrong length (should be %{count} characters)\";\n errors.push(v.format(err, {\n count: is\n }));\n }\n\n if (v.isNumber(minimum) && length < minimum) {\n err = options.tooShort || this.tooShort || \"is too short (minimum is %{count} characters)\";\n errors.push(v.format(err, {\n count: minimum\n }));\n }\n\n if (v.isNumber(maximum) && length > maximum) {\n err = options.tooLong || this.tooLong || \"is too long (maximum is %{count} characters)\";\n errors.push(v.format(err, {\n count: maximum\n }));\n }\n\n if (errors.length > 0) {\n return options.message || errors;\n }\n },\n numericality: function numericality(value, options, attribute, attributes, globalOptions) {\n // Empty values are fine\n if (!v.isDefined(value)) {\n return;\n }\n\n options = v.extend({}, this.options, options);\n var errors = [],\n name,\n count,\n checks = {\n greaterThan: function greaterThan(v, c) {\n return v > c;\n },\n greaterThanOrEqualTo: function greaterThanOrEqualTo(v, c) {\n return v >= c;\n },\n equalTo: function equalTo(v, c) {\n return v === c;\n },\n lessThan: function lessThan(v, c) {\n return v < c;\n },\n lessThanOrEqualTo: function lessThanOrEqualTo(v, c) {\n return v <= c;\n },\n divisibleBy: function divisibleBy(v, c) {\n return v % c === 0;\n }\n },\n prettify = options.prettify || globalOptions && globalOptions.prettify || v.prettify; // Strict will check that it is a valid looking number\n\n if (v.isString(value) && options.strict) {\n var pattern = \"^-?(0|[1-9]\\\\d*)\";\n\n if (!options.onlyInteger) {\n pattern += \"(\\\\.\\\\d+)?\";\n }\n\n pattern += \"$\";\n\n if (!new RegExp(pattern).test(value)) {\n return options.message || options.notValid || this.notValid || this.message || \"must be a valid number\";\n }\n } // Coerce the value to a number unless we're being strict.\n\n\n if (options.noStrings !== true && v.isString(value) && !v.isEmpty(value)) {\n value = +value;\n } // If it's not a number we shouldn't continue since it will compare it.\n\n\n if (!v.isNumber(value)) {\n return options.message || options.notValid || this.notValid || this.message || \"is not a number\";\n } // Same logic as above, sort of. Don't bother with comparisons if this\n // doesn't pass.\n\n\n if (options.onlyInteger && !v.isInteger(value)) {\n return options.message || options.notInteger || this.notInteger || this.message || \"must be an integer\";\n }\n\n for (name in checks) {\n count = options[name];\n\n if (v.isNumber(count) && !checks[name](value, count)) {\n // This picks the default message if specified\n // For example the greaterThan check uses the message from\n // this.notGreaterThan so we capitalize the name and prepend \"not\"\n var key = \"not\" + v.capitalize(name);\n var msg = options[key] || this[key] || this.message || \"must be %{type} %{count}\";\n errors.push(v.format(msg, {\n count: count,\n type: prettify(name)\n }));\n }\n }\n\n if (options.odd && value % 2 !== 1) {\n errors.push(options.notOdd || this.notOdd || this.message || \"must be odd\");\n }\n\n if (options.even && value % 2 !== 0) {\n errors.push(options.notEven || this.notEven || this.message || \"must be even\");\n }\n\n if (errors.length) {\n return options.message || errors;\n }\n },\n datetime: v.extend(function (value, options) {\n if (!v.isFunction(this.parse) || !v.isFunction(this.format)) {\n throw new Error(\"Both the parse and format functions needs to be set to use the datetime/date validator\");\n } // Empty values are fine\n\n\n if (!v.isDefined(value)) {\n return;\n }\n\n options = v.extend({}, this.options, options);\n var err,\n errors = [],\n earliest = options.earliest ? this.parse(options.earliest, options) : NaN,\n latest = options.latest ? this.parse(options.latest, options) : NaN;\n value = this.parse(value, options); // 86400000 is the number of milliseconds in a day, this is used to remove\n // the time from the date\n\n if (isNaN(value) || options.dateOnly && value % 86400000 !== 0) {\n err = options.notValid || options.message || this.notValid || \"must be a valid date\";\n return v.format(err, {\n value: arguments[0]\n });\n }\n\n if (!isNaN(earliest) && value < earliest) {\n err = options.tooEarly || options.message || this.tooEarly || \"must be no earlier than %{date}\";\n err = v.format(err, {\n value: this.format(value, options),\n date: this.format(earliest, options)\n });\n errors.push(err);\n }\n\n if (!isNaN(latest) && value > latest) {\n err = options.tooLate || options.message || this.tooLate || \"must be no later than %{date}\";\n err = v.format(err, {\n date: this.format(latest, options),\n value: this.format(value, options)\n });\n errors.push(err);\n }\n\n if (errors.length) {\n return v.unique(errors);\n }\n }, {\n parse: null,\n format: null\n }),\n date: function date(value, options) {\n options = v.extend({}, options, {\n dateOnly: true\n });\n return v.validators.datetime.call(v.validators.datetime, value, options);\n },\n format: function format(value, options) {\n if (v.isString(options) || options instanceof RegExp) {\n options = {\n pattern: options\n };\n }\n\n options = v.extend({}, this.options, options);\n var message = options.message || this.message || \"is invalid\",\n pattern = options.pattern,\n match; // Empty values are allowed\n\n if (!v.isDefined(value)) {\n return;\n }\n\n if (!v.isString(value)) {\n return message;\n }\n\n if (v.isString(pattern)) {\n pattern = new RegExp(options.pattern, options.flags);\n }\n\n match = pattern.exec(value);\n\n if (!match || match[0].length != value.length) {\n return message;\n }\n },\n inclusion: function inclusion(value, options) {\n // Empty values are fine\n if (!v.isDefined(value)) {\n return;\n }\n\n if (v.isArray(options)) {\n options = {\n within: options\n };\n }\n\n options = v.extend({}, this.options, options);\n\n if (v.contains(options.within, value)) {\n return;\n }\n\n var message = options.message || this.message || \"^%{value} is not included in the list\";\n return v.format(message, {\n value: value\n });\n },\n exclusion: function exclusion(value, options) {\n // Empty values are fine\n if (!v.isDefined(value)) {\n return;\n }\n\n if (v.isArray(options)) {\n options = {\n within: options\n };\n }\n\n options = v.extend({}, this.options, options);\n\n if (!v.contains(options.within, value)) {\n return;\n }\n\n var message = options.message || this.message || \"^%{value} is restricted\";\n\n if (v.isString(options.within[value])) {\n value = options.within[value];\n }\n\n return v.format(message, {\n value: value\n });\n },\n email: v.extend(function (value, options) {\n options = v.extend({}, this.options, options);\n var message = options.message || this.message || \"is not a valid email\"; // Empty values are fine\n\n if (!v.isDefined(value)) {\n return;\n }\n\n if (!v.isString(value)) {\n return message;\n }\n\n if (!this.PATTERN.exec(value)) {\n return message;\n }\n }, {\n PATTERN: /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i\n }),\n equality: function equality(value, options, attribute, attributes, globalOptions) {\n if (!v.isDefined(value)) {\n return;\n }\n\n if (v.isString(options)) {\n options = {\n attribute: options\n };\n }\n\n options = v.extend({}, this.options, options);\n var message = options.message || this.message || \"is not equal to %{attribute}\";\n\n if (v.isEmpty(options.attribute) || !v.isString(options.attribute)) {\n throw new Error(\"The attribute must be a non empty string\");\n }\n\n var otherValue = v.getDeepObjectValue(attributes, options.attribute),\n comparator = options.comparator || function (v1, v2) {\n return v1 === v2;\n },\n prettify = options.prettify || globalOptions && globalOptions.prettify || v.prettify;\n\n if (!comparator(value, otherValue, options, attribute, attributes)) {\n return v.format(message, {\n attribute: prettify(options.attribute)\n });\n }\n },\n // A URL validator that is used to validate URLs with the ability to\n // restrict schemes and some domains.\n url: function url(value, options) {\n if (!v.isDefined(value)) {\n return;\n }\n\n options = v.extend({}, this.options, options);\n var message = options.message || this.message || \"is not a valid url\",\n schemes = options.schemes || this.schemes || ['http', 'https'],\n allowLocal = options.allowLocal || this.allowLocal || false,\n allowDataUrl = options.allowDataUrl || this.allowDataUrl || false;\n\n if (!v.isString(value)) {\n return message;\n } // https://gist.github.com/dperini/729294\n\n\n var regex = \"^\" + // protocol identifier\n \"(?:(?:\" + schemes.join(\"|\") + \")://)\" + // user:pass authentication\n \"(?:\\\\S+(?::\\\\S*)?@)?\" + \"(?:\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n\n if (allowLocal) {\n tld += \"?\";\n } else {\n regex += // IP address exclusion\n // private & local networks\n \"(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})\" + \"(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})\" + \"(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})\";\n }\n\n regex += // IP address dotted notation octets\n // excludes loopback network 0.0.0.0\n // excludes reserved space >= 224.0.0.0\n // excludes network & broacast addresses\n // (first & last IP address of each class)\n \"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\" + \"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\" + \"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\" + \"|\" + // host name\n \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\" + // domain name\n \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\" + tld + \")\" + // port number\n \"(?::\\\\d{2,5})?\" + // resource path\n \"(?:[/?#]\\\\S*)?\" + \"$\";\n\n if (allowDataUrl) {\n // RFC 2397\n var mediaType = \"\\\\w+\\\\/[-+.\\\\w]+(?:;[\\\\w=]+)*\";\n var urlchar = \"[A-Za-z0-9-_.!~\\\\*'();\\\\/?:@&=+$,%]*\";\n var dataurl = \"data:(?:\" + mediaType + \")?(?:;base64)?,\" + urlchar;\n regex = \"(?:\" + regex + \")|(?:^\" + dataurl + \"$)\";\n }\n\n var PATTERN = new RegExp(regex, 'i');\n\n if (!PATTERN.exec(value)) {\n return message;\n }\n },\n type: v.extend(function (value, originalOptions, attribute, attributes, globalOptions) {\n if (v.isString(originalOptions)) {\n originalOptions = {\n type: originalOptions\n };\n }\n\n if (!v.isDefined(value)) {\n return;\n }\n\n var options = v.extend({}, this.options, originalOptions);\n var type = options.type;\n\n if (!v.isDefined(type)) {\n throw new Error(\"No type was specified\");\n }\n\n var check;\n\n if (v.isFunction(type)) {\n check = type;\n } else {\n check = this.types[type];\n }\n\n if (!v.isFunction(check)) {\n throw new Error(\"validate.validators.type.types.\" + type + \" must be a function.\");\n }\n\n if (!check(value, options, attribute, attributes, globalOptions)) {\n var message = originalOptions.message || this.messages[type] || this.message || options.message || (v.isFunction(type) ? \"must be of the correct type\" : \"must be of type %{type}\");\n\n if (v.isFunction(message)) {\n message = message(value, originalOptions, attribute, attributes, globalOptions);\n }\n\n return v.format(message, {\n attribute: v.prettify(attribute),\n type: type\n });\n }\n }, {\n types: {\n object: function object(value) {\n return v.isObject(value) && !v.isArray(value);\n },\n array: v.isArray,\n integer: v.isInteger,\n number: v.isNumber,\n string: v.isString,\n date: v.isDate,\n \"boolean\": v.isBoolean\n },\n messages: {}\n })\n };\n validate.formatters = {\n detailed: function detailed(errors) {\n return errors;\n },\n flat: v.flattenErrorsToArray,\n grouped: function grouped(errors) {\n var attr;\n errors = v.groupErrorsByAttribute(errors);\n\n for (attr in errors) {\n errors[attr] = v.flattenErrorsToArray(errors[attr]);\n }\n\n return errors;\n },\n constraint: function constraint(errors) {\n var attr;\n errors = v.groupErrorsByAttribute(errors);\n\n for (attr in errors) {\n errors[attr] = errors[attr].map(function (result) {\n return result.validator;\n }).sort();\n }\n\n return errors;\n }\n };\n validate.exposeModule(validate, this, exports, module, define);\n}).call(this, typeof exports !== 'undefined' ?\n/* istanbul ignore next */\nexports : null, typeof module !== 'undefined' ?\n/* istanbul ignore next */\nmodule : null, typeof define !== 'undefined' ?\n/* istanbul ignore next */\ndefine : null);","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = {\n Transition: _Transition[\"default\"],\n TransitionGroup: _TransitionGroup[\"default\"],\n ReplaceTransition: _ReplaceTransition[\"default\"],\n CSSTransition: _CSSTransition[\"default\"]\n};","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n\n\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * chroma.js - JavaScript library for color conversions\n *\n * Copyright (c) 2011-2019, Gregor Aisch\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -------------------------------------------------------\n *\n * chroma.js includes colors from colorbrewer2.org, which are released under\n * the following license:\n *\n * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,\n * and The Pennsylvania State University.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\n * either express or implied. See the License for the specific\n * language governing permissions and limitations under the License.\n *\n * ------------------------------------------------------\n *\n * Named colors are taken from X11 Color Names.\n * http://www.w3.org/TR/css3-color/#svg-color\n *\n * @preserve\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.chroma = factory();\n})(this, function () {\n 'use strict';\n\n var limit = function limit(x, min, max) {\n if (min === void 0) min = 0;\n if (max === void 0) max = 1;\n return x < min ? min : x > max ? max : x;\n };\n\n var clip_rgb = function clip_rgb(rgb) {\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n\n for (var i = 0; i <= 3; i++) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) {\n rgb._clipped = true;\n }\n\n rgb[i] = limit(rgb[i], 0, 255);\n } else if (i === 3) {\n rgb[i] = limit(rgb[i], 0, 1);\n }\n }\n\n return rgb;\n }; // ported from jQuery's $.type\n\n\n var classToType = {};\n\n for (var i = 0, list = ['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Undefined', 'Null']; i < list.length; i += 1) {\n var name = list[i];\n classToType[\"[object \" + name + \"]\"] = name.toLowerCase();\n }\n\n var type = function type(obj) {\n return classToType[Object.prototype.toString.call(obj)] || \"object\";\n };\n\n var unpack = function unpack(args, keyOrder) {\n if (keyOrder === void 0) keyOrder = null; // if called with more than 3 arguments, we return the arguments\n\n if (args.length >= 3) {\n return Array.prototype.slice.call(args);\n } // with less than 3 args we check if first arg is object\n // and use the keyOrder string to extract and sort properties\n\n\n if (type(args[0]) == 'object' && keyOrder) {\n return keyOrder.split('').filter(function (k) {\n return args[0][k] !== undefined;\n }).map(function (k) {\n return args[0][k];\n });\n } // otherwise we just return the first argument\n // (which we suppose is an array of args)\n\n\n return args[0];\n };\n\n var last = function last(args) {\n if (args.length < 2) {\n return null;\n }\n\n var l = args.length - 1;\n\n if (type(args[l]) == 'string') {\n return args[l].toLowerCase();\n }\n\n return null;\n };\n\n var PI = Math.PI;\n var utils = {\n clip_rgb: clip_rgb,\n limit: limit,\n type: type,\n unpack: unpack,\n last: last,\n PI: PI,\n TWOPI: PI * 2,\n PITHIRD: PI / 3,\n DEG2RAD: PI / 180,\n RAD2DEG: 180 / PI\n };\n var input = {\n format: {},\n autodetect: []\n };\n var last$1 = utils.last;\n var clip_rgb$1 = utils.clip_rgb;\n var type$1 = utils.type;\n\n var Color = function Color() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var me = this;\n\n if (type$1(args[0]) === 'object' && args[0].constructor && args[0].constructor === this.constructor) {\n // the argument is already a Color instance\n return args[0];\n } // last argument could be the mode\n\n\n var mode = last$1(args);\n var autodetect = false;\n\n if (!mode) {\n autodetect = true;\n\n if (!input.sorted) {\n input.autodetect = input.autodetect.sort(function (a, b) {\n return b.p - a.p;\n });\n input.sorted = true;\n } // auto-detect format\n\n\n for (var i = 0, list = input.autodetect; i < list.length; i += 1) {\n var chk = list[i];\n mode = chk.test.apply(chk, args);\n\n if (mode) {\n break;\n }\n }\n }\n\n if (input.format[mode]) {\n var rgb = input.format[mode].apply(null, autodetect ? args : args.slice(0, -1));\n me._rgb = clip_rgb$1(rgb);\n } else {\n throw new Error('unknown format: ' + args);\n } // add alpha channel\n\n\n if (me._rgb.length === 3) {\n me._rgb.push(1);\n }\n };\n\n Color.prototype.toString = function toString() {\n if (type$1(this.hex) == 'function') {\n return this.hex();\n }\n\n return \"[\" + this._rgb.join(',') + \"]\";\n };\n\n var Color_1 = Color;\n\n var chroma = function chroma() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(chroma.Color, [null].concat(args)))();\n };\n\n chroma.Color = Color_1;\n chroma.version = '2.1.0';\n var chroma_1 = chroma;\n var unpack$1 = utils.unpack;\n var max = Math.max;\n\n var rgb2cmyk = function rgb2cmyk() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$1(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n var k = 1 - max(r, max(g, b));\n var f = k < 1 ? 1 / (1 - k) : 0;\n var c = (1 - r - k) * f;\n var m = (1 - g - k) * f;\n var y = (1 - b - k) * f;\n return [c, m, y, k];\n };\n\n var rgb2cmyk_1 = rgb2cmyk;\n var unpack$2 = utils.unpack;\n\n var cmyk2rgb = function cmyk2rgb() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$2(args, 'cmyk');\n var c = args[0];\n var m = args[1];\n var y = args[2];\n var k = args[3];\n var alpha = args.length > 4 ? args[4] : 1;\n\n if (k === 1) {\n return [0, 0, 0, alpha];\n }\n\n return [c >= 1 ? 0 : 255 * (1 - c) * (1 - k), // r\n m >= 1 ? 0 : 255 * (1 - m) * (1 - k), // g\n y >= 1 ? 0 : 255 * (1 - y) * (1 - k), // b\n alpha];\n };\n\n var cmyk2rgb_1 = cmyk2rgb;\n var unpack$3 = utils.unpack;\n var type$2 = utils.type;\n\n Color_1.prototype.cmyk = function () {\n return rgb2cmyk_1(this._rgb);\n };\n\n chroma_1.cmyk = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['cmyk'])))();\n };\n\n input.format.cmyk = cmyk2rgb_1;\n input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$3(args, 'cmyk');\n\n if (type$2(args) === 'array' && args.length === 4) {\n return 'cmyk';\n }\n }\n });\n var unpack$4 = utils.unpack;\n var last$2 = utils.last;\n\n var rnd = function rnd(a) {\n return Math.round(a * 100) / 100;\n };\n /*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\n\n\n var hsl2css = function hsl2css() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var hsla = unpack$4(args, 'hsla');\n var mode = last$2(args) || 'lsa';\n hsla[0] = rnd(hsla[0] || 0);\n hsla[1] = rnd(hsla[1] * 100) + '%';\n hsla[2] = rnd(hsla[2] * 100) + '%';\n\n if (mode === 'hsla' || hsla.length > 3 && hsla[3] < 1) {\n hsla[3] = hsla.length > 3 ? hsla[3] : 1;\n mode = 'hsla';\n } else {\n hsla.length = 3;\n }\n\n return mode + \"(\" + hsla.join(',') + \")\";\n };\n\n var hsl2css_1 = hsl2css;\n var unpack$5 = utils.unpack;\n /*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\n\n var rgb2hsl = function rgb2hsl() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$5(args, 'rgba');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var l = (max + min) / 2;\n var s, h;\n\n if (max === min) {\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n\n if (r == max) {\n h = (g - b) / (max - min);\n } else if (g == max) {\n h = 2 + (b - r) / (max - min);\n } else if (b == max) {\n h = 4 + (r - g) / (max - min);\n }\n\n h *= 60;\n\n if (h < 0) {\n h += 360;\n }\n\n if (args.length > 3 && args[3] !== undefined) {\n return [h, s, l, args[3]];\n }\n\n return [h, s, l];\n };\n\n var rgb2hsl_1 = rgb2hsl;\n var unpack$6 = utils.unpack;\n var last$3 = utils.last;\n var round = Math.round;\n /*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\n\n var rgb2css = function rgb2css() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var rgba = unpack$6(args, 'rgba');\n var mode = last$3(args) || 'rgb';\n\n if (mode.substr(0, 3) == 'hsl') {\n return hsl2css_1(rgb2hsl_1(rgba), mode);\n }\n\n rgba[0] = round(rgba[0]);\n rgba[1] = round(rgba[1]);\n rgba[2] = round(rgba[2]);\n\n if (mode === 'rgba' || rgba.length > 3 && rgba[3] < 1) {\n rgba[3] = rgba.length > 3 ? rgba[3] : 1;\n mode = 'rgba';\n }\n\n return mode + \"(\" + rgba.slice(0, mode === 'rgb' ? 3 : 4).join(',') + \")\";\n };\n\n var rgb2css_1 = rgb2css;\n var unpack$7 = utils.unpack;\n var round$1 = Math.round;\n\n var hsl2rgb = function hsl2rgb() {\n var assign;\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$7(args, 'hsl');\n var h = args[0];\n var s = args[1];\n var l = args[2];\n var r, g, b;\n\n if (s === 0) {\n r = g = b = l * 255;\n } else {\n var t3 = [0, 0, 0];\n var c = [0, 0, 0];\n var t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var t1 = 2 * l - t2;\n var h_ = h / 360;\n t3[0] = h_ + 1 / 3;\n t3[1] = h_;\n t3[2] = h_ - 1 / 3;\n\n for (var i = 0; i < 3; i++) {\n if (t3[i] < 0) {\n t3[i] += 1;\n }\n\n if (t3[i] > 1) {\n t3[i] -= 1;\n }\n\n if (6 * t3[i] < 1) {\n c[i] = t1 + (t2 - t1) * 6 * t3[i];\n } else if (2 * t3[i] < 1) {\n c[i] = t2;\n } else if (3 * t3[i] < 2) {\n c[i] = t1 + (t2 - t1) * (2 / 3 - t3[i]) * 6;\n } else {\n c[i] = t1;\n }\n }\n\n assign = [round$1(c[0] * 255), round$1(c[1] * 255), round$1(c[2] * 255)], r = assign[0], g = assign[1], b = assign[2];\n }\n\n if (args.length > 3) {\n // keep alpha channel\n return [r, g, b, args[3]];\n }\n\n return [r, g, b, 1];\n };\n\n var hsl2rgb_1 = hsl2rgb;\n var RE_RGB = /^rgb\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\)$/;\n var RE_RGBA = /^rgba\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_RGB_PCT = /^rgb\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_RGBA_PCT = /^rgba\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_HSL = /^hsl\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_HSLA = /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var round$2 = Math.round;\n\n var css2rgb = function css2rgb(css) {\n css = css.toLowerCase().trim();\n var m;\n\n if (input.format.named) {\n try {\n return input.format.named(css);\n } catch (e) {// eslint-disable-next-line\n }\n } // rgb(250,20,0)\n\n\n if (m = css.match(RE_RGB)) {\n var rgb = m.slice(1, 4);\n\n for (var i = 0; i < 3; i++) {\n rgb[i] = +rgb[i];\n }\n\n rgb[3] = 1; // default alpha\n\n return rgb;\n } // rgba(250,20,0,0.4)\n\n\n if (m = css.match(RE_RGBA)) {\n var rgb$1 = m.slice(1, 5);\n\n for (var i$1 = 0; i$1 < 4; i$1++) {\n rgb$1[i$1] = +rgb$1[i$1];\n }\n\n return rgb$1;\n } // rgb(100%,0%,0%)\n\n\n if (m = css.match(RE_RGB_PCT)) {\n var rgb$2 = m.slice(1, 4);\n\n for (var i$2 = 0; i$2 < 3; i$2++) {\n rgb$2[i$2] = round$2(rgb$2[i$2] * 2.55);\n }\n\n rgb$2[3] = 1; // default alpha\n\n return rgb$2;\n } // rgba(100%,0%,0%,0.4)\n\n\n if (m = css.match(RE_RGBA_PCT)) {\n var rgb$3 = m.slice(1, 5);\n\n for (var i$3 = 0; i$3 < 3; i$3++) {\n rgb$3[i$3] = round$2(rgb$3[i$3] * 2.55);\n }\n\n rgb$3[3] = +rgb$3[3];\n return rgb$3;\n } // hsl(0,100%,50%)\n\n\n if (m = css.match(RE_HSL)) {\n var hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n var rgb$4 = hsl2rgb_1(hsl);\n rgb$4[3] = 1;\n return rgb$4;\n } // hsla(0,100%,50%,0.5)\n\n\n if (m = css.match(RE_HSLA)) {\n var hsl$1 = m.slice(1, 4);\n hsl$1[1] *= 0.01;\n hsl$1[2] *= 0.01;\n var rgb$5 = hsl2rgb_1(hsl$1);\n rgb$5[3] = +m[4]; // default alpha = 1\n\n return rgb$5;\n }\n };\n\n css2rgb.test = function (s) {\n return RE_RGB.test(s) || RE_RGBA.test(s) || RE_RGB_PCT.test(s) || RE_RGBA_PCT.test(s) || RE_HSL.test(s) || RE_HSLA.test(s);\n };\n\n var css2rgb_1 = css2rgb;\n var type$3 = utils.type;\n\n Color_1.prototype.css = function (mode) {\n return rgb2css_1(this._rgb, mode);\n };\n\n chroma_1.css = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['css'])))();\n };\n\n input.format.css = css2rgb_1;\n input.autodetect.push({\n p: 5,\n test: function test(h) {\n var rest = [],\n len = arguments.length - 1;\n\n while (len-- > 0) {\n rest[len] = arguments[len + 1];\n }\n\n if (!rest.length && type$3(h) === 'string' && css2rgb_1.test(h)) {\n return 'css';\n }\n }\n });\n var unpack$8 = utils.unpack;\n\n input.format.gl = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var rgb = unpack$8(args, 'rgba');\n rgb[0] *= 255;\n rgb[1] *= 255;\n rgb[2] *= 255;\n return rgb;\n };\n\n chroma_1.gl = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['gl'])))();\n };\n\n Color_1.prototype.gl = function () {\n var rgb = this._rgb;\n return [rgb[0] / 255, rgb[1] / 255, rgb[2] / 255, rgb[3]];\n };\n\n var unpack$9 = utils.unpack;\n\n var rgb2hcg = function rgb2hcg() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$9(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var c = delta * 100 / 255;\n\n var _g = min / (255 - delta) * 100;\n\n var h;\n\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) {\n h = (g - b) / delta;\n }\n\n if (g === max) {\n h = 2 + (b - r) / delta;\n }\n\n if (b === max) {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n\n if (h < 0) {\n h += 360;\n }\n }\n\n return [h, c, _g];\n };\n\n var rgb2hcg_1 = rgb2hcg;\n var unpack$a = utils.unpack;\n var floor = Math.floor;\n /*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\n var hcg2rgb = function hcg2rgb() {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$a(args, 'hcg');\n var h = args[0];\n var c = args[1];\n var _g = args[2];\n var r, g, b;\n _g = _g * 255;\n\n var _c = c * 255;\n\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) {\n h = 0;\n }\n\n if (h > 360) {\n h -= 360;\n }\n\n if (h < 0) {\n h += 360;\n }\n\n h /= 60;\n var i = floor(h);\n var f = h - i;\n var p = _g * (1 - c);\n var q = p + _c * (1 - f);\n var t = p + _c * f;\n var v = p + _c;\n\n switch (i) {\n case 0:\n assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2];\n break;\n\n case 1:\n assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2];\n break;\n\n case 2:\n assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2];\n break;\n\n case 3:\n assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2];\n break;\n\n case 4:\n assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2];\n break;\n\n case 5:\n assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2];\n break;\n }\n }\n\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var hcg2rgb_1 = hcg2rgb;\n var unpack$b = utils.unpack;\n var type$4 = utils.type;\n\n Color_1.prototype.hcg = function () {\n return rgb2hcg_1(this._rgb);\n };\n\n chroma_1.hcg = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hcg'])))();\n };\n\n input.format.hcg = hcg2rgb_1;\n input.autodetect.push({\n p: 1,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$b(args, 'hcg');\n\n if (type$4(args) === 'array' && args.length === 3) {\n return 'hcg';\n }\n }\n });\n var unpack$c = utils.unpack;\n var last$4 = utils.last;\n var round$3 = Math.round;\n\n var rgb2hex = function rgb2hex() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$c(args, 'rgba');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var a = ref[3];\n var mode = last$4(args) || 'auto';\n\n if (a === undefined) {\n a = 1;\n }\n\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n\n r = round$3(r);\n g = round$3(g);\n b = round$3(b);\n var u = r << 16 | g << 8 | b;\n var str = \"000000\" + u.toString(16); //#.toUpperCase();\n\n str = str.substr(str.length - 6);\n var hxa = '0' + round$3(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n\n switch (mode.toLowerCase()) {\n case 'rgba':\n return \"#\" + str + hxa;\n\n case 'argb':\n return \"#\" + hxa + str;\n\n default:\n return \"#\" + str;\n }\n };\n\n var rgb2hex_1 = rgb2hex;\n var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\n var hex2rgb = function hex2rgb(hex) {\n if (hex.match(RE_HEX)) {\n // remove optional leading #\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n } // expand short-notation to full six-digit\n\n\n if (hex.length === 3) {\n hex = hex.split('');\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n }\n\n var u = parseInt(hex, 16);\n var r = u >> 16;\n var g = u >> 8 & 0xFF;\n var b = u & 0xFF;\n return [r, g, b, 1];\n } // match rgba hex format, eg #FF000077\n\n\n if (hex.match(RE_HEXA)) {\n if (hex.length === 5 || hex.length === 9) {\n // remove optional leading #\n hex = hex.substr(1);\n } // expand short-notation to full eight-digit\n\n\n if (hex.length === 4) {\n hex = hex.split('');\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];\n }\n\n var u$1 = parseInt(hex, 16);\n var r$1 = u$1 >> 24 & 0xFF;\n var g$1 = u$1 >> 16 & 0xFF;\n var b$1 = u$1 >> 8 & 0xFF;\n var a = Math.round((u$1 & 0xFF) / 0xFF * 100) / 100;\n return [r$1, g$1, b$1, a];\n } // we used to check for css colors here\n // if _input.css? and rgb = _input.css hex\n // return rgb\n\n\n throw new Error(\"unknown hex color: \" + hex);\n };\n\n var hex2rgb_1 = hex2rgb;\n var type$5 = utils.type;\n\n Color_1.prototype.hex = function (mode) {\n return rgb2hex_1(this._rgb, mode);\n };\n\n chroma_1.hex = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hex'])))();\n };\n\n input.format.hex = hex2rgb_1;\n input.autodetect.push({\n p: 4,\n test: function test(h) {\n var rest = [],\n len = arguments.length - 1;\n\n while (len-- > 0) {\n rest[len] = arguments[len + 1];\n }\n\n if (!rest.length && type$5(h) === 'string' && [3, 4, 5, 6, 7, 8, 9].indexOf(h.length) >= 0) {\n return 'hex';\n }\n }\n });\n var unpack$d = utils.unpack;\n var TWOPI = utils.TWOPI;\n var min = Math.min;\n var sqrt = Math.sqrt;\n var acos = Math.acos;\n\n var rgb2hsi = function rgb2hsi() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n\n\n var ref = unpack$d(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var h;\n var min_ = min(r, g, b);\n var i = (r + g + b) / 3;\n var s = i > 0 ? 1 - min_ / i : 0;\n\n if (s === 0) {\n h = NaN;\n } else {\n h = (r - g + (r - b)) / 2;\n h /= sqrt((r - g) * (r - g) + (r - b) * (g - b));\n h = acos(h);\n\n if (b > g) {\n h = TWOPI - h;\n }\n\n h /= TWOPI;\n }\n\n return [h * 360, s, i];\n };\n\n var rgb2hsi_1 = rgb2hsi;\n var unpack$e = utils.unpack;\n var limit$1 = utils.limit;\n var TWOPI$1 = utils.TWOPI;\n var PITHIRD = utils.PITHIRD;\n var cos = Math.cos;\n /*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\n\n var hsi2rgb = function hsi2rgb() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n\n\n args = unpack$e(args, 'hsi');\n var h = args[0];\n var s = args[1];\n var i = args[2];\n var r, g, b;\n\n if (isNaN(h)) {\n h = 0;\n }\n\n if (isNaN(s)) {\n s = 0;\n } // normalize hue\n\n\n if (h > 360) {\n h -= 360;\n }\n\n if (h < 0) {\n h += 360;\n }\n\n h /= 360;\n\n if (h < 1 / 3) {\n b = (1 - s) / 3;\n r = (1 + s * cos(TWOPI$1 * h) / cos(PITHIRD - TWOPI$1 * h)) / 3;\n g = 1 - (b + r);\n } else if (h < 2 / 3) {\n h -= 1 / 3;\n r = (1 - s) / 3;\n g = (1 + s * cos(TWOPI$1 * h) / cos(PITHIRD - TWOPI$1 * h)) / 3;\n b = 1 - (r + g);\n } else {\n h -= 2 / 3;\n g = (1 - s) / 3;\n b = (1 + s * cos(TWOPI$1 * h) / cos(PITHIRD - TWOPI$1 * h)) / 3;\n r = 1 - (g + b);\n }\n\n r = limit$1(i * r * 3);\n g = limit$1(i * g * 3);\n b = limit$1(i * b * 3);\n return [r * 255, g * 255, b * 255, args.length > 3 ? args[3] : 1];\n };\n\n var hsi2rgb_1 = hsi2rgb;\n var unpack$f = utils.unpack;\n var type$6 = utils.type;\n\n Color_1.prototype.hsi = function () {\n return rgb2hsi_1(this._rgb);\n };\n\n chroma_1.hsi = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hsi'])))();\n };\n\n input.format.hsi = hsi2rgb_1;\n input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$f(args, 'hsi');\n\n if (type$6(args) === 'array' && args.length === 3) {\n return 'hsi';\n }\n }\n });\n var unpack$g = utils.unpack;\n var type$7 = utils.type;\n\n Color_1.prototype.hsl = function () {\n return rgb2hsl_1(this._rgb);\n };\n\n chroma_1.hsl = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hsl'])))();\n };\n\n input.format.hsl = hsl2rgb_1;\n input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$g(args, 'hsl');\n\n if (type$7(args) === 'array' && args.length === 3) {\n return 'hsl';\n }\n }\n });\n var unpack$h = utils.unpack;\n var min$1 = Math.min;\n var max$1 = Math.max;\n /*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\n\n var rgb2hsl$1 = function rgb2hsl$1() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$h(args, 'rgb');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var min_ = min$1(r, g, b);\n var max_ = max$1(r, g, b);\n var delta = max_ - min_;\n var h, s, v;\n v = max_ / 255.0;\n\n if (max_ === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max_;\n\n if (r === max_) {\n h = (g - b) / delta;\n }\n\n if (g === max_) {\n h = 2 + (b - r) / delta;\n }\n\n if (b === max_) {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n\n if (h < 0) {\n h += 360;\n }\n }\n\n return [h, s, v];\n };\n\n var rgb2hsv = rgb2hsl$1;\n var unpack$i = utils.unpack;\n var floor$1 = Math.floor;\n\n var hsv2rgb = function hsv2rgb() {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$i(args, 'hsv');\n var h = args[0];\n var s = args[1];\n var v = args[2];\n var r, g, b;\n v *= 255;\n\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) {\n h = 0;\n }\n\n if (h > 360) {\n h -= 360;\n }\n\n if (h < 0) {\n h += 360;\n }\n\n h /= 60;\n var i = floor$1(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0:\n assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2];\n break;\n\n case 1:\n assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2];\n break;\n\n case 2:\n assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2];\n break;\n\n case 3:\n assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2];\n break;\n\n case 4:\n assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2];\n break;\n\n case 5:\n assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2];\n break;\n }\n }\n\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var hsv2rgb_1 = hsv2rgb;\n var unpack$j = utils.unpack;\n var type$8 = utils.type;\n\n Color_1.prototype.hsv = function () {\n return rgb2hsv(this._rgb);\n };\n\n chroma_1.hsv = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hsv'])))();\n };\n\n input.format.hsv = hsv2rgb_1;\n input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$j(args, 'hsv');\n\n if (type$8(args) === 'array' && args.length === 3) {\n return 'hsv';\n }\n }\n });\n var labConstants = {\n // Corresponds roughly to RGB brighter/darker\n Kn: 18,\n // D65 standard referent\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n t0: 0.137931034,\n // 4 / 29\n t1: 0.206896552,\n // 6 / 29\n t2: 0.12841855,\n // 3 * t1 * t1\n t3: 0.008856452 // t1 * t1 * t1\n\n };\n var unpack$k = utils.unpack;\n var pow = Math.pow;\n\n var rgb2lab = function rgb2lab() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$k(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2xyz(r, g, b);\n var x = ref$1[0];\n var y = ref$1[1];\n var z = ref$1[2];\n var l = 116 * y - 16;\n return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)];\n };\n\n var rgb_xyz = function rgb_xyz(r) {\n if ((r /= 255) <= 0.04045) {\n return r / 12.92;\n }\n\n return pow((r + 0.055) / 1.055, 2.4);\n };\n\n var xyz_lab = function xyz_lab(t) {\n if (t > labConstants.t3) {\n return pow(t, 1 / 3);\n }\n\n return t / labConstants.t2 + labConstants.t0;\n };\n\n var rgb2xyz = function rgb2xyz(r, g, b) {\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / labConstants.Xn);\n var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / labConstants.Yn);\n var z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / labConstants.Zn);\n return [x, y, z];\n };\n\n var rgb2lab_1 = rgb2lab;\n var unpack$l = utils.unpack;\n var pow$1 = Math.pow;\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n\n var lab2rgb = function lab2rgb() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$l(args, 'lab');\n var l = args[0];\n var a = args[1];\n var b = args[2];\n var x, y, z, r, g, b_;\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n y = labConstants.Yn * lab_xyz(y);\n x = labConstants.Xn * lab_xyz(x);\n z = labConstants.Zn * lab_xyz(z);\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); // D65 -> sRGB\n\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n return [r, g, b_, args.length > 3 ? args[3] : 1];\n };\n\n var xyz_rgb = function xyz_rgb(r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow$1(r, 1 / 2.4) - 0.055);\n };\n\n var lab_xyz = function lab_xyz(t) {\n return t > labConstants.t1 ? t * t * t : labConstants.t2 * (t - labConstants.t0);\n };\n\n var lab2rgb_1 = lab2rgb;\n var unpack$m = utils.unpack;\n var type$9 = utils.type;\n\n Color_1.prototype.lab = function () {\n return rgb2lab_1(this._rgb);\n };\n\n chroma_1.lab = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['lab'])))();\n };\n\n input.format.lab = lab2rgb_1;\n input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$m(args, 'lab');\n\n if (type$9(args) === 'array' && args.length === 3) {\n return 'lab';\n }\n }\n });\n var unpack$n = utils.unpack;\n var RAD2DEG = utils.RAD2DEG;\n var sqrt$1 = Math.sqrt;\n var atan2 = Math.atan2;\n var round$4 = Math.round;\n\n var lab2lch = function lab2lch() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$n(args, 'lab');\n var l = ref[0];\n var a = ref[1];\n var b = ref[2];\n var c = sqrt$1(a * a + b * b);\n var h = (atan2(b, a) * RAD2DEG + 360) % 360;\n\n if (round$4(c * 10000) === 0) {\n h = Number.NaN;\n }\n\n return [l, c, h];\n };\n\n var lab2lch_1 = lab2lch;\n var unpack$o = utils.unpack;\n\n var rgb2lch = function rgb2lch() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$o(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2lab_1(r, g, b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch_1(l, a, b_);\n };\n\n var rgb2lch_1 = rgb2lch;\n var unpack$p = utils.unpack;\n var DEG2RAD = utils.DEG2RAD;\n var sin = Math.sin;\n var cos$1 = Math.cos;\n\n var lch2lab = function lch2lab() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n A saturation multiplier was added by Gregor Aisch\n */\n\n\n var ref = unpack$p(args, 'lch');\n var l = ref[0];\n var c = ref[1];\n var h = ref[2];\n\n if (isNaN(h)) {\n h = 0;\n }\n\n h = h * DEG2RAD;\n return [l, cos$1(h) * c, sin(h) * c];\n };\n\n var lch2lab_1 = lch2lab;\n var unpack$q = utils.unpack;\n\n var lch2rgb = function lch2rgb() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$q(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab_1(l, c, h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = lab2rgb_1(L, a, b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var lch2rgb_1 = lch2rgb;\n var unpack$r = utils.unpack;\n\n var hcl2rgb = function hcl2rgb() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var hcl = unpack$r(args, 'hcl').reverse();\n return lch2rgb_1.apply(void 0, hcl);\n };\n\n var hcl2rgb_1 = hcl2rgb;\n var unpack$s = utils.unpack;\n var type$a = utils.type;\n\n Color_1.prototype.lch = function () {\n return rgb2lch_1(this._rgb);\n };\n\n Color_1.prototype.hcl = function () {\n return rgb2lch_1(this._rgb).reverse();\n };\n\n chroma_1.lch = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['lch'])))();\n };\n\n chroma_1.hcl = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['hcl'])))();\n };\n\n input.format.lch = lch2rgb_1;\n input.format.hcl = hcl2rgb_1;\n ['lch', 'hcl'].forEach(function (m) {\n return input.autodetect.push({\n p: 2,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$s(args, m);\n\n if (type$a(args) === 'array' && args.length === 3) {\n return m;\n }\n }\n });\n });\n /**\n \tX11 color names\n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n var w3cx11 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n var w3cx11_1 = w3cx11;\n var type$b = utils.type;\n\n Color_1.prototype.name = function () {\n var hex = rgb2hex_1(this._rgb, 'rgb');\n\n for (var i = 0, list = Object.keys(w3cx11_1); i < list.length; i += 1) {\n var n = list[i];\n\n if (w3cx11_1[n] === hex) {\n return n.toLowerCase();\n }\n }\n\n return hex;\n };\n\n input.format.named = function (name) {\n name = name.toLowerCase();\n\n if (w3cx11_1[name]) {\n return hex2rgb_1(w3cx11_1[name]);\n }\n\n throw new Error('unknown color name: ' + name);\n };\n\n input.autodetect.push({\n p: 5,\n test: function test(h) {\n var rest = [],\n len = arguments.length - 1;\n\n while (len-- > 0) {\n rest[len] = arguments[len + 1];\n }\n\n if (!rest.length && type$b(h) === 'string' && w3cx11_1[h.toLowerCase()]) {\n return 'named';\n }\n }\n });\n var unpack$t = utils.unpack;\n\n var rgb2num = function rgb2num() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var ref = unpack$t(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n var rgb2num_1 = rgb2num;\n var type$c = utils.type;\n\n var num2rgb = function num2rgb(num) {\n if (type$c(num) == \"number\" && num >= 0 && num <= 0xFFFFFF) {\n var r = num >> 16;\n var g = num >> 8 & 0xFF;\n var b = num & 0xFF;\n return [r, g, b, 1];\n }\n\n throw new Error(\"unknown num color: \" + num);\n };\n\n var num2rgb_1 = num2rgb;\n var type$d = utils.type;\n\n Color_1.prototype.num = function () {\n return rgb2num_1(this._rgb);\n };\n\n chroma_1.num = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['num'])))();\n };\n\n input.format.num = num2rgb_1;\n input.autodetect.push({\n p: 5,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n if (args.length === 1 && type$d(args[0]) === 'number' && args[0] >= 0 && args[0] <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n var unpack$u = utils.unpack;\n var type$e = utils.type;\n var round$5 = Math.round;\n\n Color_1.prototype.rgb = function (rnd) {\n if (rnd === void 0) rnd = true;\n\n if (rnd === false) {\n return this._rgb.slice(0, 3);\n }\n\n return this._rgb.slice(0, 3).map(round$5);\n };\n\n Color_1.prototype.rgba = function (rnd) {\n if (rnd === void 0) rnd = true;\n return this._rgb.slice(0, 4).map(function (v, i) {\n return i < 3 ? rnd === false ? v : round$5(v) : v;\n });\n };\n\n chroma_1.rgb = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['rgb'])))();\n };\n\n input.format.rgb = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var rgba = unpack$u(args, 'rgba');\n\n if (rgba[3] === undefined) {\n rgba[3] = 1;\n }\n\n return rgba;\n };\n\n input.autodetect.push({\n p: 3,\n test: function test() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n args = unpack$u(args, 'rgba');\n\n if (type$e(args) === 'array' && (args.length === 3 || args.length === 4 && type$e(args[3]) == 'number' && args[3] >= 0 && args[3] <= 1)) {\n return 'rgb';\n }\n }\n });\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\n var log = Math.log;\n\n var temperature2rgb = function temperature2rgb(kelvin) {\n var temp = kelvin / 100;\n var r, g, b;\n\n if (temp < 66) {\n r = 255;\n g = -155.25485562709179 - 0.44596950469579133 * (g = temp - 2) + 104.49216199393888 * log(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp - 10) + 115.67994401066147 * log(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp - 55) - 40.25366309332127 * log(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp - 50) - 28.0852963507957 * log(g);\n b = 255;\n }\n\n return [r, g, b, 1];\n };\n\n var temperature2rgb_1 = temperature2rgb;\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\n var unpack$v = utils.unpack;\n var round$6 = Math.round;\n\n var rgb2temperature = function rgb2temperature() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n var rgb = unpack$v(args, 'rgb');\n var r = rgb[0],\n b = rgb[2];\n var minTemp = 1000;\n var maxTemp = 40000;\n var eps = 0.4;\n var temp;\n\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n var rgb$1 = temperature2rgb_1(temp);\n\n if (rgb$1[2] / rgb$1[0] >= b / r) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n\n return round$6(temp);\n };\n\n var rgb2temperature_1 = rgb2temperature;\n\n Color_1.prototype.temp = Color_1.prototype.kelvin = Color_1.prototype.temperature = function () {\n return rgb2temperature_1(this._rgb);\n };\n\n chroma_1.temp = chroma_1.kelvin = chroma_1.temperature = function () {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n return new (Function.prototype.bind.apply(Color_1, [null].concat(args, ['temp'])))();\n };\n\n input.format.temp = input.format.kelvin = input.format.temperature = temperature2rgb_1;\n var type$f = utils.type;\n\n Color_1.prototype.alpha = function (a, mutate) {\n if (mutate === void 0) mutate = false;\n\n if (a !== undefined && type$f(a) === 'number') {\n if (mutate) {\n this._rgb[3] = a;\n return this;\n }\n\n return new Color_1([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n }\n\n return this._rgb[3];\n };\n\n Color_1.prototype.clipped = function () {\n return this._rgb._clipped || false;\n };\n\n Color_1.prototype.darken = function (amount) {\n if (amount === void 0) amount = 1;\n var me = this;\n var lab = me.lab();\n lab[0] -= labConstants.Kn * amount;\n return new Color_1(lab, 'lab').alpha(me.alpha(), true);\n };\n\n Color_1.prototype.brighten = function (amount) {\n if (amount === void 0) amount = 1;\n return this.darken(-amount);\n };\n\n Color_1.prototype.darker = Color_1.prototype.darken;\n Color_1.prototype.brighter = Color_1.prototype.brighten;\n\n Color_1.prototype.get = function (mc) {\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n\n if (channel) {\n var i = mode.indexOf(channel);\n\n if (i > -1) {\n return src[i];\n }\n\n throw new Error(\"unknown channel \" + channel + \" in mode \" + mode);\n } else {\n return src;\n }\n };\n\n var type$g = utils.type;\n var pow$2 = Math.pow;\n var EPS = 1e-7;\n var MAX_ITER = 20;\n\n Color_1.prototype.luminance = function (lum) {\n if (lum !== undefined && type$g(lum) === 'number') {\n if (lum === 0) {\n // return pure black\n return new Color_1([0, 0, 0, this._rgb[3]], 'rgb');\n }\n\n if (lum === 1) {\n // return pure white\n return new Color_1([255, 255, 255, this._rgb[3]], 'rgb');\n } // compute new color using...\n\n\n var cur_lum = this.luminance();\n var mode = 'rgb';\n var max_iter = MAX_ITER;\n\n var test = function test(low, high) {\n var mid = low.interpolate(high, 0.5, mode);\n var lm = mid.luminance();\n\n if (Math.abs(lum - lm) < EPS || !max_iter--) {\n // close enough\n return mid;\n }\n\n return lm > lum ? test(low, mid) : test(mid, high);\n };\n\n var rgb = (cur_lum > lum ? test(new Color_1([0, 0, 0]), this) : test(this, new Color_1([255, 255, 255]))).rgb();\n return new Color_1(rgb.concat([this._rgb[3]]));\n }\n\n return rgb2luminance.apply(void 0, this._rgb.slice(0, 3));\n };\n\n var rgb2luminance = function rgb2luminance(r, g, b) {\n // relative luminance\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n var luminance_x = function luminance_x(x) {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : pow$2((x + 0.055) / 1.055, 2.4);\n };\n\n var interpolator = {};\n var type$h = utils.type;\n\n var mix = function mix(col1, col2, f) {\n if (f === void 0) f = 0.5;\n var rest = [],\n len = arguments.length - 3;\n\n while (len-- > 0) {\n rest[len] = arguments[len + 3];\n }\n\n var mode = rest[0] || 'lrgb';\n\n if (!interpolator[mode] && !rest.length) {\n // fall back to the first supported mode\n mode = Object.keys(interpolator)[0];\n }\n\n if (!interpolator[mode]) {\n throw new Error(\"interpolation mode \" + mode + \" is not defined\");\n }\n\n if (type$h(col1) !== 'object') {\n col1 = new Color_1(col1);\n }\n\n if (type$h(col2) !== 'object') {\n col2 = new Color_1(col2);\n }\n\n return interpolator[mode](col1, col2, f).alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n Color_1.prototype.mix = Color_1.prototype.interpolate = function (col2, f) {\n if (f === void 0) f = 0.5;\n var rest = [],\n len = arguments.length - 2;\n\n while (len-- > 0) {\n rest[len] = arguments[len + 2];\n }\n\n return mix.apply(void 0, [this, col2, f].concat(rest));\n };\n\n Color_1.prototype.premultiply = function (mutate) {\n if (mutate === void 0) mutate = false;\n var rgb = this._rgb;\n var a = rgb[3];\n\n if (mutate) {\n this._rgb = [rgb[0] * a, rgb[1] * a, rgb[2] * a, a];\n return this;\n } else {\n return new Color_1([rgb[0] * a, rgb[1] * a, rgb[2] * a, a], 'rgb');\n }\n };\n\n Color_1.prototype.saturate = function (amount) {\n if (amount === void 0) amount = 1;\n var me = this;\n var lch = me.lch();\n lch[1] += labConstants.Kn * amount;\n\n if (lch[1] < 0) {\n lch[1] = 0;\n }\n\n return new Color_1(lch, 'lch').alpha(me.alpha(), true);\n };\n\n Color_1.prototype.desaturate = function (amount) {\n if (amount === void 0) amount = 1;\n return this.saturate(-amount);\n };\n\n var type$i = utils.type;\n\n Color_1.prototype.set = function (mc, value, mutate) {\n if (mutate === void 0) mutate = false;\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n\n if (channel) {\n var i = mode.indexOf(channel);\n\n if (i > -1) {\n if (type$i(value) == 'string') {\n switch (value.charAt(0)) {\n case '+':\n src[i] += +value;\n break;\n\n case '-':\n src[i] += +value;\n break;\n\n case '*':\n src[i] *= +value.substr(1);\n break;\n\n case '/':\n src[i] /= +value.substr(1);\n break;\n\n default:\n src[i] = +value;\n }\n } else if (type$i(value) === 'number') {\n src[i] = value;\n } else {\n throw new Error(\"unsupported value for Color.set\");\n }\n\n var out = new Color_1(src, mode);\n\n if (mutate) {\n this._rgb = out._rgb;\n return this;\n }\n\n return out;\n }\n\n throw new Error(\"unknown channel \" + channel + \" in mode \" + mode);\n } else {\n return src;\n }\n };\n\n var rgb$1 = function rgb$1(col1, col2, f) {\n var xyz0 = col1._rgb;\n var xyz1 = col2._rgb;\n return new Color_1(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), 'rgb');\n }; // register interpolator\n\n\n interpolator.rgb = rgb$1;\n var sqrt$2 = Math.sqrt;\n var pow$3 = Math.pow;\n\n var lrgb = function lrgb(col1, col2, f) {\n var ref = col1._rgb;\n var x1 = ref[0];\n var y1 = ref[1];\n var z1 = ref[2];\n var ref$1 = col2._rgb;\n var x2 = ref$1[0];\n var y2 = ref$1[1];\n var z2 = ref$1[2];\n return new Color_1(sqrt$2(pow$3(x1, 2) * (1 - f) + pow$3(x2, 2) * f), sqrt$2(pow$3(y1, 2) * (1 - f) + pow$3(y2, 2) * f), sqrt$2(pow$3(z1, 2) * (1 - f) + pow$3(z2, 2) * f), 'rgb');\n }; // register interpolator\n\n\n interpolator.lrgb = lrgb;\n\n var lab$1 = function lab$1(col1, col2, f) {\n var xyz0 = col1.lab();\n var xyz1 = col2.lab();\n return new Color_1(xyz0[0] + f * (xyz1[0] - xyz0[0]), xyz0[1] + f * (xyz1[1] - xyz0[1]), xyz0[2] + f * (xyz1[2] - xyz0[2]), 'lab');\n }; // register interpolator\n\n\n interpolator.lab = lab$1;\n\n var _hsx = function _hsx(col1, col2, f, m) {\n var assign, assign$1;\n var xyz0, xyz1;\n\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n }\n\n var hue0, hue1, sat0, sat1, lbv0, lbv1;\n\n if (m.substr(0, 1) === 'h') {\n assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2];\n assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2];\n }\n\n var sat, hue, lbv, dh;\n\n if (!isNaN(hue0) && !isNaN(hue1)) {\n // both colors have hue\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1 - (hue0 + 360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1 + 360 - hue0;\n } else {\n dh = hue1 - hue0;\n }\n\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n\n if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') {\n sat = sat0;\n }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n\n if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') {\n sat = sat1;\n }\n } else {\n hue = Number.NaN;\n }\n\n if (sat === undefined) {\n sat = sat0 + f * (sat1 - sat0);\n }\n\n lbv = lbv0 + f * (lbv1 - lbv0);\n return new Color_1([hue, sat, lbv], m);\n };\n\n var lch$1 = function lch$1(col1, col2, f) {\n return _hsx(col1, col2, f, 'lch');\n }; // register interpolator\n\n\n interpolator.lch = lch$1;\n interpolator.hcl = lch$1;\n\n var num$1 = function num$1(col1, col2, f) {\n var c1 = col1.num();\n var c2 = col2.num();\n return new Color_1(c1 + f * (c2 - c1), 'num');\n }; // register interpolator\n\n\n interpolator.num = num$1;\n\n var hcg$1 = function hcg$1(col1, col2, f) {\n return _hsx(col1, col2, f, 'hcg');\n }; // register interpolator\n\n\n interpolator.hcg = hcg$1;\n\n var hsi$1 = function hsi$1(col1, col2, f) {\n return _hsx(col1, col2, f, 'hsi');\n }; // register interpolator\n\n\n interpolator.hsi = hsi$1;\n\n var hsl$1 = function hsl$1(col1, col2, f) {\n return _hsx(col1, col2, f, 'hsl');\n }; // register interpolator\n\n\n interpolator.hsl = hsl$1;\n\n var hsv$1 = function hsv$1(col1, col2, f) {\n return _hsx(col1, col2, f, 'hsv');\n }; // register interpolator\n\n\n interpolator.hsv = hsv$1;\n var clip_rgb$2 = utils.clip_rgb;\n var pow$4 = Math.pow;\n var sqrt$3 = Math.sqrt;\n var PI$1 = Math.PI;\n var cos$2 = Math.cos;\n var sin$1 = Math.sin;\n var atan2$1 = Math.atan2;\n\n var average = function average(colors, mode, weights) {\n if (mode === void 0) mode = 'lrgb';\n if (weights === void 0) weights = null;\n var l = colors.length;\n\n if (!weights) {\n weights = Array.from(new Array(l)).map(function () {\n return 1;\n });\n } // normalize weights\n\n\n var k = l / weights.reduce(function (a, b) {\n return a + b;\n });\n weights.forEach(function (w, i) {\n weights[i] *= k;\n }); // convert colors to Color objects\n\n colors = colors.map(function (c) {\n return new Color_1(c);\n });\n\n if (mode === 'lrgb') {\n return _average_lrgb(colors, weights);\n }\n\n var first = colors.shift();\n var xyz = first.get(mode);\n var cnt = [];\n var dx = 0;\n var dy = 0; // initial color\n\n for (var i = 0; i < xyz.length; i++) {\n xyz[i] = (xyz[i] || 0) * weights[0];\n cnt.push(isNaN(xyz[i]) ? 0 : weights[0]);\n\n if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n var A = xyz[i] / 180 * PI$1;\n dx += cos$2(A) * weights[0];\n dy += sin$1(A) * weights[0];\n }\n }\n\n var alpha = first.alpha() * weights[0];\n colors.forEach(function (c, ci) {\n var xyz2 = c.get(mode);\n alpha += c.alpha() * weights[ci + 1];\n\n for (var i = 0; i < xyz.length; i++) {\n if (!isNaN(xyz2[i])) {\n cnt[i] += weights[ci + 1];\n\n if (mode.charAt(i) === 'h') {\n var A = xyz2[i] / 180 * PI$1;\n dx += cos$2(A) * weights[ci + 1];\n dy += sin$1(A) * weights[ci + 1];\n } else {\n xyz[i] += xyz2[i] * weights[ci + 1];\n }\n }\n }\n });\n\n for (var i$1 = 0; i$1 < xyz.length; i$1++) {\n if (mode.charAt(i$1) === 'h') {\n var A$1 = atan2$1(dy / cnt[i$1], dx / cnt[i$1]) / PI$1 * 180;\n\n while (A$1 < 0) {\n A$1 += 360;\n }\n\n while (A$1 >= 360) {\n A$1 -= 360;\n }\n\n xyz[i$1] = A$1;\n } else {\n xyz[i$1] = xyz[i$1] / cnt[i$1];\n }\n }\n\n alpha /= l;\n return new Color_1(xyz, mode).alpha(alpha > 0.99999 ? 1 : alpha, true);\n };\n\n var _average_lrgb = function _average_lrgb(colors, weights) {\n var l = colors.length;\n var xyz = [0, 0, 0, 0];\n\n for (var i = 0; i < colors.length; i++) {\n var col = colors[i];\n var f = weights[i] / l;\n var rgb = col._rgb;\n xyz[0] += pow$4(rgb[0], 2) * f;\n xyz[1] += pow$4(rgb[1], 2) * f;\n xyz[2] += pow$4(rgb[2], 2) * f;\n xyz[3] += rgb[3] * f;\n }\n\n xyz[0] = sqrt$3(xyz[0]);\n xyz[1] = sqrt$3(xyz[1]);\n xyz[2] = sqrt$3(xyz[2]);\n\n if (xyz[3] > 0.9999999) {\n xyz[3] = 1;\n }\n\n return new Color_1(clip_rgb$2(xyz));\n }; // minimal multi-purpose interface\n // @requires utils color analyze\n\n\n var type$j = utils.type;\n var pow$5 = Math.pow;\n\n var scale = function scale(colors) {\n // constructor\n var _mode = 'rgb';\n\n var _nacol = chroma_1('#ccc');\n\n var _spread = 0; // const _fixed = false;\n\n var _domain = [0, 1];\n var _pos = [];\n var _padding = [0, 0];\n var _classes = false;\n var _colors = [];\n var _out = false;\n var _min = 0;\n var _max = 1;\n var _correctLightness = false;\n var _colorCache = {};\n var _useCache = true;\n var _gamma = 1; // private methods\n\n var setColors = function setColors(colors) {\n colors = colors || ['#fff', '#000'];\n\n if (colors && type$j(colors) === 'string' && chroma_1.brewer && chroma_1.brewer[colors.toLowerCase()]) {\n colors = chroma_1.brewer[colors.toLowerCase()];\n }\n\n if (type$j(colors) === 'array') {\n // handle single color\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n } // make a copy of the colors\n\n\n colors = colors.slice(0); // convert to chroma classes\n\n for (var c = 0; c < colors.length; c++) {\n colors[c] = chroma_1(colors[c]);\n } // auto-fill color position\n\n\n _pos.length = 0;\n\n for (var c$1 = 0; c$1 < colors.length; c$1++) {\n _pos.push(c$1 / (colors.length - 1));\n }\n }\n\n resetCache();\n return _colors = colors;\n };\n\n var getClass = function getClass(value) {\n if (_classes != null) {\n var n = _classes.length - 1;\n var i = 0;\n\n while (i < n && value >= _classes[i]) {\n i++;\n }\n\n return i - 1;\n }\n\n return 0;\n };\n\n var tMapLightness = function tMapLightness(t) {\n return t;\n };\n\n var tMapDomain = function tMapDomain(t) {\n return t;\n }; // const classifyValue = function(value) {\n // let val = value;\n // if (_classes.length > 2) {\n // const n = _classes.length-1;\n // const i = getClass(value);\n // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class\n // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class\n // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n // }\n // return val;\n // };\n\n\n var getColor = function getColor(val, bypassMap) {\n var col, t;\n\n if (bypassMap == null) {\n bypassMap = false;\n }\n\n if (isNaN(val) || val === null) {\n return _nacol;\n }\n\n if (!bypassMap) {\n if (_classes && _classes.length > 2) {\n // find the class\n var c = getClass(val);\n t = c / (_classes.length - 2);\n } else if (_max !== _min) {\n // just interpolate between min/max\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n } // domain map\n\n\n t = tMapDomain(t);\n\n if (!bypassMap) {\n t = tMapLightness(t); // lightness correction\n }\n\n if (_gamma !== 1) {\n t = pow$5(t, _gamma);\n }\n\n t = _padding[0] + t * (1 - _padding[0] - _padding[1]);\n t = Math.min(1, Math.max(0, t));\n var k = Math.floor(t * 10000);\n\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type$j(_colors) === 'array') {\n //for i in [0.._pos.length-1]\n for (var i = 0; i < _pos.length; i++) {\n var p = _pos[i];\n\n if (t <= p) {\n col = _colors[i];\n break;\n }\n\n if (t >= p && i === _pos.length - 1) {\n col = _colors[i];\n break;\n }\n\n if (t > p && t < _pos[i + 1]) {\n t = (t - p) / (_pos[i + 1] - p);\n col = chroma_1.interpolate(_colors[i], _colors[i + 1], t, _mode);\n break;\n }\n }\n } else if (type$j(_colors) === 'function') {\n col = _colors(t);\n }\n\n if (_useCache) {\n _colorCache[k] = col;\n }\n }\n\n return col;\n };\n\n var resetCache = function resetCache() {\n return _colorCache = {};\n };\n\n setColors(colors); // public interface\n\n var f = function f(v) {\n var c = chroma_1(getColor(v));\n\n if (_out && c[_out]) {\n return c[_out]();\n } else {\n return c;\n }\n };\n\n f.classes = function (classes) {\n if (classes != null) {\n if (type$j(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length - 1]];\n } else {\n var d = chroma_1.analyze(_domain);\n\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma_1.limits(d, 'e', classes);\n }\n }\n\n return f;\n }\n\n return _classes;\n };\n\n f.domain = function (domain) {\n if (!arguments.length) {\n return _domain;\n }\n\n _min = domain[0];\n _max = domain[domain.length - 1];\n _pos = [];\n var k = _colors.length;\n\n if (domain.length === k && _min !== _max) {\n // update positions\n for (var i = 0, list = Array.from(domain); i < list.length; i += 1) {\n var d = list[i];\n\n _pos.push((d - _min) / (_max - _min));\n }\n } else {\n for (var c = 0; c < k; c++) {\n _pos.push(c / (k - 1));\n }\n\n if (domain.length > 2) {\n // set domain map\n var tOut = domain.map(function (d, i) {\n return i / (domain.length - 1);\n });\n var tBreaks = domain.map(function (d) {\n return (d - _min) / (_max - _min);\n });\n\n if (!tBreaks.every(function (val, i) {\n return tOut[i] === val;\n })) {\n tMapDomain = function tMapDomain(t) {\n if (t <= 0 || t >= 1) {\n return t;\n }\n\n var i = 0;\n\n while (t >= tBreaks[i + 1]) {\n i++;\n }\n\n var f = (t - tBreaks[i]) / (tBreaks[i + 1] - tBreaks[i]);\n var out = tOut[i] + f * (tOut[i + 1] - tOut[i]);\n return out;\n };\n }\n }\n }\n\n _domain = [_min, _max];\n return f;\n };\n\n f.mode = function (_m) {\n if (!arguments.length) {\n return _mode;\n }\n\n _mode = _m;\n resetCache();\n return f;\n };\n\n f.range = function (colors, _pos) {\n setColors(colors, _pos);\n return f;\n };\n\n f.out = function (_o) {\n _out = _o;\n return f;\n };\n\n f.spread = function (val) {\n if (!arguments.length) {\n return _spread;\n }\n\n _spread = val;\n return f;\n };\n\n f.correctLightness = function (v) {\n if (v == null) {\n v = true;\n }\n\n _correctLightness = v;\n resetCache();\n\n if (_correctLightness) {\n tMapLightness = function tMapLightness(t) {\n var L0 = getColor(0, true).lab()[0];\n var L1 = getColor(1, true).lab()[0];\n var pol = L0 > L1;\n var L_actual = getColor(t, true).lab()[0];\n var L_ideal = L0 + (L1 - L0) * t;\n var L_diff = L_actual - L_ideal;\n var t0 = 0;\n var t1 = 1;\n var max_iter = 20;\n\n while (Math.abs(L_diff) > 1e-2 && max_iter-- > 0) {\n (function () {\n if (pol) {\n L_diff *= -1;\n }\n\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n\n return t;\n };\n } else {\n tMapLightness = function tMapLightness(t) {\n return t;\n };\n }\n\n return f;\n };\n\n f.padding = function (p) {\n if (p != null) {\n if (type$j(p) === 'number') {\n p = [p, p];\n }\n\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n\n f.colors = function (numColors, out) {\n // If no arguments are given, return the original colors that were provided\n if (arguments.length < 2) {\n out = 'hex';\n }\n\n var result = [];\n\n if (arguments.length === 0) {\n result = _colors.slice(0);\n } else if (numColors === 1) {\n result = [f(0.5)];\n } else if (numColors > 1) {\n var dm = _domain[0];\n var dd = _domain[1] - dm;\n result = __range__(0, numColors, false).map(function (i) {\n return f(dm + i / (numColors - 1) * dd);\n });\n } else {\n // returns all colors based on the defined classes\n colors = [];\n var samples = [];\n\n if (_classes && _classes.length > 2) {\n for (var i = 1, end = _classes.length, asc = 1 <= end; asc ? i < end : i > end; asc ? i++ : i--) {\n samples.push((_classes[i - 1] + _classes[i]) * 0.5);\n }\n } else {\n samples = _domain;\n }\n\n result = samples.map(function (v) {\n return f(v);\n });\n }\n\n if (chroma_1[out]) {\n result = result.map(function (c) {\n return c[out]();\n });\n }\n\n return result;\n };\n\n f.cache = function (c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n\n f.gamma = function (g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n\n f.nodata = function (d) {\n if (d != null) {\n _nacol = chroma_1(d);\n return f;\n } else {\n return _nacol;\n }\n };\n\n return f;\n };\n\n function __range__(left, right, inclusive) {\n var range = [];\n var ascending = left < right;\n var end = !inclusive ? right : ascending ? right + 1 : right - 1;\n\n for (var i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n range.push(i);\n }\n\n return range;\n } //\n // interpolates between a set of colors uzing a bezier spline\n //\n // @requires utils lab\n\n\n var bezier = function bezier(colors) {\n var assign, assign$1, assign$2;\n var I, lab0, lab1, lab2;\n colors = colors.map(function (c) {\n return new Color_1(c);\n });\n\n if (colors.length === 2) {\n // linear interpolation\n assign = colors.map(function (c) {\n return c.lab();\n }), lab0 = assign[0], lab1 = assign[1];\n\n I = function I(t) {\n var lab = [0, 1, 2].map(function (i) {\n return lab0[i] + t * (lab1[i] - lab0[i]);\n });\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 3) {\n // quadratic bezier interpolation\n assign$1 = colors.map(function (c) {\n return c.lab();\n }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2];\n\n I = function I(t) {\n var lab = [0, 1, 2].map(function (i) {\n return (1 - t) * (1 - t) * lab0[i] + 2 * (1 - t) * t * lab1[i] + t * t * lab2[i];\n });\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 4) {\n // cubic bezier interpolation\n var lab3;\n assign$2 = colors.map(function (c) {\n return c.lab();\n }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3];\n\n I = function I(t) {\n var lab = [0, 1, 2].map(function (i) {\n return (1 - t) * (1 - t) * (1 - t) * lab0[i] + 3 * (1 - t) * (1 - t) * t * lab1[i] + 3 * (1 - t) * t * t * lab2[i] + t * t * t * lab3[i];\n });\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 5) {\n var I0 = bezier(colors.slice(0, 3));\n var I1 = bezier(colors.slice(2, 5));\n\n I = function I(t) {\n if (t < 0.5) {\n return I0(t * 2);\n } else {\n return I1((t - 0.5) * 2);\n }\n };\n }\n\n return I;\n };\n\n var bezier_1 = function bezier_1(colors) {\n var f = bezier(colors);\n\n f.scale = function () {\n return scale(f);\n };\n\n return f;\n };\n /*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\n\n var blend = function blend(bottom, top, mode) {\n if (!blend[mode]) {\n throw new Error('unknown blend mode ' + mode);\n }\n\n return blend[mode](bottom, top);\n };\n\n var blend_f = function blend_f(f) {\n return function (bottom, top) {\n var c0 = chroma_1(top).rgb();\n var c1 = chroma_1(bottom).rgb();\n return chroma_1.rgb(f(c0, c1));\n };\n };\n\n var each = function each(f) {\n return function (c0, c1) {\n var out = [];\n out[0] = f(c0[0], c1[0]);\n out[1] = f(c0[1], c1[1]);\n out[2] = f(c0[2], c1[2]);\n return out;\n };\n };\n\n var normal = function normal(a) {\n return a;\n };\n\n var multiply = function multiply(a, b) {\n return a * b / 255;\n };\n\n var darken$1 = function darken$1(a, b) {\n return a > b ? b : a;\n };\n\n var lighten = function lighten(a, b) {\n return a > b ? a : b;\n };\n\n var screen = function screen(a, b) {\n return 255 * (1 - (1 - a / 255) * (1 - b / 255));\n };\n\n var overlay = function overlay(a, b) {\n return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255) * (1 - b / 255));\n };\n\n var burn = function burn(a, b) {\n return 255 * (1 - (1 - b / 255) / (a / 255));\n };\n\n var dodge = function dodge(a, b) {\n if (a === 255) {\n return 255;\n }\n\n a = 255 * (b / 255) / (1 - a / 255);\n return a > 255 ? 255 : a;\n }; // # add = (a,b) ->\n // # if (a + b > 255) then 255 else a + b\n\n\n blend.normal = blend_f(each(normal));\n blend.multiply = blend_f(each(multiply));\n blend.screen = blend_f(each(screen));\n blend.overlay = blend_f(each(overlay));\n blend.darken = blend_f(each(darken$1));\n blend.lighten = blend_f(each(lighten));\n blend.dodge = blend_f(each(dodge));\n blend.burn = blend_f(each(burn)); // blend.add = blend_f(each(add));\n\n var blend_1 = blend; // cubehelix interpolation\n // based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n // http://astron-soc.in/bulletin/11June/289392011.pdf\n\n var type$k = utils.type;\n var clip_rgb$3 = utils.clip_rgb;\n var TWOPI$2 = utils.TWOPI;\n var pow$6 = Math.pow;\n var sin$2 = Math.sin;\n var cos$3 = Math.cos;\n\n var cubehelix = function cubehelix(start, rotations, hue, gamma, lightness) {\n if (start === void 0) start = 300;\n if (rotations === void 0) rotations = -1.5;\n if (hue === void 0) hue = 1;\n if (gamma === void 0) gamma = 1;\n if (lightness === void 0) lightness = [0, 1];\n var dh = 0,\n dl;\n\n if (type$k(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n\n var f = function f(fract) {\n var a = TWOPI$2 * ((start + 120) / 360 + rotations * fract);\n var l = pow$6(lightness[0] + dl * fract, gamma);\n var h = dh !== 0 ? hue[0] + fract * dh : hue;\n var amp = h * l * (1 - l) / 2;\n var cos_a = cos$3(a);\n var sin_a = sin$2(a);\n var r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n var g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n var b = l + amp * (+1.97294 * cos_a);\n return chroma_1(clip_rgb$3([r * 255, g * 255, b * 255, 1]));\n };\n\n f.start = function (s) {\n if (s == null) {\n return start;\n }\n\n start = s;\n return f;\n };\n\n f.rotations = function (r) {\n if (r == null) {\n return rotations;\n }\n\n rotations = r;\n return f;\n };\n\n f.gamma = function (g) {\n if (g == null) {\n return gamma;\n }\n\n gamma = g;\n return f;\n };\n\n f.hue = function (h) {\n if (h == null) {\n return hue;\n }\n\n hue = h;\n\n if (type$k(hue) === 'array') {\n dh = hue[1] - hue[0];\n\n if (dh === 0) {\n hue = hue[1];\n }\n } else {\n dh = 0;\n }\n\n return f;\n };\n\n f.lightness = function (h) {\n if (h == null) {\n return lightness;\n }\n\n if (type$k(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h, h];\n dl = 0;\n }\n\n return f;\n };\n\n f.scale = function () {\n return chroma_1.scale(f);\n };\n\n f.hue(hue);\n return f;\n };\n\n var digits = '0123456789abcdef';\n var floor$2 = Math.floor;\n var random = Math.random;\n\n var random_1 = function random_1() {\n var code = '#';\n\n for (var i = 0; i < 6; i++) {\n code += digits.charAt(floor$2(random() * 16));\n }\n\n return new Color_1(code, 'hex');\n };\n\n var log$1 = Math.log;\n var pow$7 = Math.pow;\n var floor$3 = Math.floor;\n var abs = Math.abs;\n\n var analyze = function analyze(data, key) {\n if (key === void 0) key = null;\n var r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE * -1,\n sum: 0,\n values: [],\n count: 0\n };\n\n if (type(data) === 'object') {\n data = Object.values(data);\n }\n\n data.forEach(function (val) {\n if (key && type(val) === 'object') {\n val = val[key];\n }\n\n if (val !== undefined && val !== null && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n\n if (val < r.min) {\n r.min = val;\n }\n\n if (val > r.max) {\n r.max = val;\n }\n\n r.count += 1;\n }\n });\n r.domain = [r.min, r.max];\n\n r.limits = function (mode, num) {\n return limits(r, mode, num);\n };\n\n return r;\n };\n\n var limits = function limits(data, mode, num) {\n if (mode === void 0) mode = 'equal';\n if (num === void 0) num = 7;\n\n if (type(data) == 'array') {\n data = analyze(data);\n }\n\n var min = data.min;\n var max = data.max;\n var values = data.values.sort(function (a, b) {\n return a - b;\n });\n\n if (num === 1) {\n return [min, max];\n }\n\n var limits = [];\n\n if (mode.substr(0, 1) === 'c') {\n // continuous\n limits.push(min);\n limits.push(max);\n }\n\n if (mode.substr(0, 1) === 'e') {\n // equal interval\n limits.push(min);\n\n for (var i = 1; i < num; i++) {\n limits.push(min + i / num * (max - min));\n }\n\n limits.push(max);\n } else if (mode.substr(0, 1) === 'l') {\n // log scale\n if (min <= 0) {\n throw new Error('Logarithmic scales are only possible for values > 0');\n }\n\n var min_log = Math.LOG10E * log$1(min);\n var max_log = Math.LOG10E * log$1(max);\n limits.push(min);\n\n for (var i$1 = 1; i$1 < num; i$1++) {\n limits.push(pow$7(10, min_log + i$1 / num * (max_log - min_log)));\n }\n\n limits.push(max);\n } else if (mode.substr(0, 1) === 'q') {\n // quantile scale\n limits.push(min);\n\n for (var i$2 = 1; i$2 < num; i$2++) {\n var p = (values.length - 1) * i$2 / num;\n var pb = floor$3(p);\n\n if (pb === p) {\n limits.push(values[pb]);\n } else {\n // p > pb\n var pr = p - pb;\n limits.push(values[pb] * (1 - pr) + values[pb + 1] * pr);\n }\n }\n\n limits.push(max);\n } else if (mode.substr(0, 1) === 'k') {\n // k-means clustering\n\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n var cluster;\n var n = values.length;\n var assignments = new Array(n);\n var clusterSizes = new Array(num);\n var repeat = true;\n var nb_iters = 0;\n var centroids = null; // get seed values\n\n centroids = [];\n centroids.push(min);\n\n for (var i$3 = 1; i$3 < num; i$3++) {\n centroids.push(min + i$3 / num * (max - min));\n }\n\n centroids.push(max);\n\n while (repeat) {\n // assignment step\n for (var j = 0; j < num; j++) {\n clusterSizes[j] = 0;\n }\n\n for (var i$4 = 0; i$4 < n; i$4++) {\n var value = values[i$4];\n var mindist = Number.MAX_VALUE;\n var best = void 0;\n\n for (var j$1 = 0; j$1 < num; j$1++) {\n var dist = abs(centroids[j$1] - value);\n\n if (dist < mindist) {\n mindist = dist;\n best = j$1;\n }\n\n clusterSizes[best]++;\n assignments[i$4] = best;\n }\n } // update centroids step\n\n\n var newCentroids = new Array(num);\n\n for (var j$2 = 0; j$2 < num; j$2++) {\n newCentroids[j$2] = null;\n }\n\n for (var i$5 = 0; i$5 < n; i$5++) {\n cluster = assignments[i$5];\n\n if (newCentroids[cluster] === null) {\n newCentroids[cluster] = values[i$5];\n } else {\n newCentroids[cluster] += values[i$5];\n }\n }\n\n for (var j$3 = 0; j$3 < num; j$3++) {\n newCentroids[j$3] *= 1 / clusterSizes[j$3];\n } // check convergence\n\n\n repeat = false;\n\n for (var j$4 = 0; j$4 < num; j$4++) {\n if (newCentroids[j$4] !== centroids[j$4]) {\n repeat = true;\n break;\n }\n }\n\n centroids = newCentroids;\n nb_iters++;\n\n if (nb_iters > 200) {\n repeat = false;\n }\n } // finished k-means clustering\n // the next part is borrowed from gabrielflor.it\n\n\n var kClusters = {};\n\n for (var j$5 = 0; j$5 < num; j$5++) {\n kClusters[j$5] = [];\n }\n\n for (var i$6 = 0; i$6 < n; i$6++) {\n cluster = assignments[i$6];\n kClusters[cluster].push(values[i$6]);\n }\n\n var tmpKMeansBreaks = [];\n\n for (var j$6 = 0; j$6 < num; j$6++) {\n tmpKMeansBreaks.push(kClusters[j$6][0]);\n tmpKMeansBreaks.push(kClusters[j$6][kClusters[j$6].length - 1]);\n }\n\n tmpKMeansBreaks = tmpKMeansBreaks.sort(function (a, b) {\n return a - b;\n });\n limits.push(tmpKMeansBreaks[0]);\n\n for (var i$7 = 1; i$7 < tmpKMeansBreaks.length; i$7 += 2) {\n var v = tmpKMeansBreaks[i$7];\n\n if (!isNaN(v) && limits.indexOf(v) === -1) {\n limits.push(v);\n }\n }\n }\n\n return limits;\n };\n\n var analyze_1 = {\n analyze: analyze,\n limits: limits\n };\n\n var contrast = function contrast(a, b) {\n // WCAG contrast ratio\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n a = new Color_1(a);\n b = new Color_1(b);\n var l1 = a.luminance();\n var l2 = b.luminance();\n return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n };\n\n var sqrt$4 = Math.sqrt;\n var atan2$2 = Math.atan2;\n var abs$1 = Math.abs;\n var cos$4 = Math.cos;\n var PI$2 = Math.PI;\n\n var deltaE = function deltaE(a, b, L, C) {\n if (L === void 0) L = 1;\n if (C === void 0) C = 1; // Delta E (CMC)\n // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CMC.html\n\n a = new Color_1(a);\n b = new Color_1(b);\n var ref = Array.from(a.lab());\n var L1 = ref[0];\n var a1 = ref[1];\n var b1 = ref[2];\n var ref$1 = Array.from(b.lab());\n var L2 = ref$1[0];\n var a2 = ref$1[1];\n var b2 = ref$1[2];\n var c1 = sqrt$4(a1 * a1 + b1 * b1);\n var c2 = sqrt$4(a2 * a2 + b2 * b2);\n var sl = L1 < 16.0 ? 0.511 : 0.040975 * L1 / (1.0 + 0.01765 * L1);\n var sc = 0.0638 * c1 / (1.0 + 0.0131 * c1) + 0.638;\n var h1 = c1 < 0.000001 ? 0.0 : atan2$2(b1, a1) * 180.0 / PI$2;\n\n while (h1 < 0) {\n h1 += 360;\n }\n\n while (h1 >= 360) {\n h1 -= 360;\n }\n\n var t = h1 >= 164.0 && h1 <= 345.0 ? 0.56 + abs$1(0.2 * cos$4(PI$2 * (h1 + 168.0) / 180.0)) : 0.36 + abs$1(0.4 * cos$4(PI$2 * (h1 + 35.0) / 180.0));\n var c4 = c1 * c1 * c1 * c1;\n var f = sqrt$4(c4 / (c4 + 1900.0));\n var sh = sc * (f * t + 1.0 - f);\n var delL = L1 - L2;\n var delC = c1 - c2;\n var delA = a1 - a2;\n var delB = b1 - b2;\n var dH2 = delA * delA + delB * delB - delC * delC;\n var v1 = delL / (L * sl);\n var v2 = delC / (C * sc);\n var v3 = sh;\n return sqrt$4(v1 * v1 + v2 * v2 + dH2 / (v3 * v3));\n }; // simple Euclidean distance\n\n\n var distance = function distance(a, b, mode) {\n if (mode === void 0) mode = 'lab'; // Delta E (CIE 1976)\n // see http://www.brucelindbloom.com/index.html?Equations.html\n\n a = new Color_1(a);\n b = new Color_1(b);\n var l1 = a.get(mode);\n var l2 = b.get(mode);\n var sum_sq = 0;\n\n for (var i in l1) {\n var d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d * d;\n }\n\n return Math.sqrt(sum_sq);\n };\n\n var valid = function valid() {\n var args = [],\n len = arguments.length;\n\n while (len--) {\n args[len] = arguments[len];\n }\n\n try {\n new (Function.prototype.bind.apply(Color_1, [null].concat(args)))();\n return true;\n } catch (e) {\n return false;\n }\n }; // some pre-defined color scales:\n\n\n var scales = {\n cool: function cool() {\n return scale([chroma_1.hsl(180, 1, .9), chroma_1.hsl(250, .7, .4)]);\n },\n hot: function hot() {\n return scale(['#000', '#f00', '#ff0', '#fff'], [0, .25, .75, 1]).mode('rgb');\n }\n };\n /**\n ColorBrewer colors for chroma.js\n Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n Pennsylvania State University.\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n Unless required by applicable law or agreed to in writing, software distributed\n under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n CONDITIONS OF ANY KIND, either express or implied. See the License for the\n specific language governing permissions and limitations under the License.\n */\n\n var colorbrewer = {\n // sequential\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n // diverging\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n // qualitative\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2']\n }; // add lowercase aliases for case-insensitive matches\n\n for (var i$1 = 0, list$1 = Object.keys(colorbrewer); i$1 < list$1.length; i$1 += 1) {\n var key = list$1[i$1];\n colorbrewer[key.toLowerCase()] = colorbrewer[key];\n }\n\n var colorbrewer_1 = colorbrewer; // feel free to comment out anything to rollup\n // a smaller chroma.js built\n // io --> convert colors\n // operators --> modify existing Colors\n // interpolators\n // generators -- > create new colors\n\n chroma_1.average = average;\n chroma_1.bezier = bezier_1;\n chroma_1.blend = blend_1;\n chroma_1.cubehelix = cubehelix;\n chroma_1.mix = chroma_1.interpolate = mix;\n chroma_1.random = random_1;\n chroma_1.scale = scale; // other utility methods\n\n chroma_1.analyze = analyze_1.analyze;\n chroma_1.contrast = contrast;\n chroma_1.deltaE = deltaE;\n chroma_1.distance = distance;\n chroma_1.limits = analyze_1.limits;\n chroma_1.valid = valid; // scale\n\n chroma_1.scales = scales; // colors\n\n chroma_1.colors = w3cx11_1;\n chroma_1.brewer = colorbrewer_1;\n var chroma_js = chroma_1;\n return chroma_js;\n});","/* eslint-disable */\n// Don't edit manually. `rake js:routes` generates this file.\nfunction process(route, params, keys) {\n var query = [];\n for (var param in params) if (Object.prototype.hasOwnProperty.call(params, param)) {\n if (keys.indexOf(param) === -1) {\n if (Array.isArray(params[param])) {\n for (var value of params[param]) {\n query.push(param + \"[]=\" + encodeURIComponent(value));\n }\n } else {\n query.push(param + \"=\" + encodeURIComponent(params[param]));\n }\n }\n }\n return query.length ? route + \"?\" + query.join(\"&\") : route;\n}\n\nexport function healthIndexPath(params) { return process('/health', params, []); }\nexport function rootPath(params) { return process('/', params, []); }\nexport function dailyReportsUserDailyReportsPath(params) { return process('/daily_reports/users/' + params.userId + '/daily_reports', params, ['userId']); }\nexport function newDailyReportsUserDailyReportPath(params) { return process('/daily_reports/users/' + params.userId + '/daily_reports/new', params, ['userId']); }\nexport function editDailyReportsUserDailyReportPath(params) { return process('/daily_reports/users/' + params.userId + '/daily_reports/' + params.id + '/edit', params, ['userId','id']); }\nexport function dailyReportsUserDailyReportPath(params) { return process('/daily_reports/users/' + params.userId + '/daily_reports/' + params.id + '', params, ['userId','id']); }\nexport function dailyReportsUsersPath(params) { return process('/daily_reports/users', params, []); }\nexport function newDailyReportsUserPath(params) { return process('/daily_reports/users/new', params, []); }\nexport function dailyReportsPath(params) { return process('/daily_reports', params, []); }\nexport function newDailyReportPath(params) { return process('/daily_reports/new', params, []); }\nexport function editDailyReportPath(params) { return process('/daily_reports/' + params.id + '/edit', params, ['id']); }\nexport function dailyReportPath(params) { return process('/daily_reports/' + params.id + '', params, ['id']); }\nexport function dailyReportExportPath(params) { return process('/daily_report_export', params, []); }\nexport function arigatonasPath(params) { return process('/arigatonas', params, []); }\nexport function arigatonasExportPath(params) { return process('/arigatonas_export', params, []); }\nexport function signinPath(params) { return process('/signin', params, []); }\nexport function sessionPath(params) { return process('/signin', params, []); }\nexport function dashboardIndexPath(params) { return process('/dashboard', params, []); }\nexport function apiUsersPath(params) { return process('/api/users', params, []); }\nexport function apiUsersUnsubmitPath(params) { return process('/api/users/unsubmit', params, []); }\nexport function clientAdminRootPath(params) { return process('/client_admin', params, []); }\nexport function clientAdminDepartmentsPath(params) { return process('/client_admin/departments', params, []); }\nexport function newClientAdminDepartmentPath(params) { return process('/client_admin/departments/new', params, []); }\nexport function editClientAdminDepartmentPath(params) { return process('/client_admin/departments/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminDepartmentPath(params) { return process('/client_admin/departments/' + params.id + '', params, ['id']); }\nexport function clientAdminUsersPath(params) { return process('/client_admin/users', params, []); }\nexport function newClientAdminUserPath(params) { return process('/client_admin/users/new', params, []); }\nexport function editClientAdminUserPath(params) { return process('/client_admin/users/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminUserPath(params) { return process('/client_admin/users/' + params.id + '', params, ['id']); }\nexport function clientAdminUsersExportPath(params) { return process('/client_admin/users_export', params, []); }\nexport function clientAdminUserActivatePath(params) { return process('/client_admin/users/' + params.userId + '/activate', params, ['userId']); }\nexport function clientAdminWorkContentsPath(params) { return process('/client_admin/work_contents', params, []); }\nexport function newClientAdminWorkContentPath(params) { return process('/client_admin/work_contents/new', params, []); }\nexport function editClientAdminWorkContentPath(params) { return process('/client_admin/work_contents/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminWorkContentPath(params) { return process('/client_admin/work_contents/' + params.id + '', params, ['id']); }\nexport function clientAdminWorkPropertiesPath(params) { return process('/client_admin/work_properties', params, []); }\nexport function newClientAdminWorkPropertyPath(params) { return process('/client_admin/work_properties/new', params, []); }\nexport function editClientAdminWorkPropertyPath(params) { return process('/client_admin/work_properties/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminWorkPropertyPath(params) { return process('/client_admin/work_properties/' + params.id + '', params, ['id']); }\nexport function clientAdminWorkDetailsPath(params) { return process('/client_admin/work_details', params, []); }\nexport function newClientAdminWorkDetailPath(params) { return process('/client_admin/work_details/new', params, []); }\nexport function editClientAdminWorkDetailPath(params) { return process('/client_admin/work_details/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminWorkDetailPath(params) { return process('/client_admin/work_details/' + params.id + '', params, ['id']); }\nexport function editClientAdminDailyReportPath(params) { return process('/client_admin/daily_reports/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminDailyReportPath(params) { return process('/client_admin/daily_reports/' + params.id + '', params, ['id']); }\nexport function newClientAdminDailyReportUserPath(params) { return process('/client_admin/daily_report_users/' + params.id + '/new', params, ['id']); }\nexport function createClientAdminDailyReportUserPath(params) { return process('/client_admin/daily_report_users/' + params.id + '', params, ['id']); }\nexport function clientAdminDailyReportUsersPath(params) { return process('/client_admin/daily_report_users', params, []); }\nexport function clientAdminDailyReportUserPath(params) { return process('/client_admin/daily_report_users/' + params.id + '', params, ['id']); }\nexport function clientAdminDailyReportsRepresentationIndexPath(params) { return process('/client_admin/daily_reports_representation', params, []); }\nexport function newClientAdminDailyReportsRepresentationPath(params) { return process('/client_admin/daily_reports_representation/new', params, []); }\nexport function clientAdminDailyReportConfirmIndexPath(params) { return process('/client_admin/daily_report_confirm', params, []); }\nexport function clientAdminDashboardIndexPath(params) { return process('/client_admin/dashboard', params, []); }\nexport function clientAdminConfigurationsDrTimespansPath(params) { return process('/client_admin/configurations/dr_timespans', params, []); }\nexport function newClientAdminConfigurationsDrTimespanPath(params) { return process('/client_admin/configurations/dr_timespans/new', params, []); }\nexport function editClientAdminConfigurationsDrTimespanPath(params) { return process('/client_admin/configurations/dr_timespans/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminConfigurationsDrTimespanPath(params) { return process('/client_admin/configurations/dr_timespans/' + params.id + '', params, ['id']); }\nexport function editClientAdminConfigurationsDailyreportConfiguresStep1Path(params) { return process('/client_admin/configurations/dailyreport_configures_step1/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminConfigurationsDailyreportConfiguresStep1Path(params) { return process('/client_admin/configurations/dailyreport_configures_step1/' + params.id + '', params, ['id']); }\nexport function clientAdminConfigurationsDailyreportConfiguresStep2Path(params) { return process('/client_admin/configurations/dailyreport_configures_step2/' + params.id + '', params, ['id']); }\nexport function clientAdminConfigurationsPath(params) { return process('/client_admin/configurations', params, []); }\nexport function editClientAdminConfigurationPath(params) { return process('/client_admin/configurations/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminConfigurationPath(params) { return process('/client_admin/configurations/' + params.id + '', params, ['id']); }\nexport function clientAdminCategoryCategoriesWorkContentsPath(params) { return process('/client_admin/categories/' + params.categoryId + '/categories/work_contents', params, ['categoryId']); }\nexport function clientAdminCategoryCategoriesWorkContentsEditPath(params) { return process('/client_admin/categories/' + params.categoryId + '/categories/work_contents/edit', params, ['categoryId']); }\nexport function clientAdminCategoryCategoriesUsersPath(params) { return process('/client_admin/categories/' + params.categoryId + '/categories/users', params, ['categoryId']); }\nexport function clientAdminCategoryCategoriesUsersEditPath(params) { return process('/client_admin/categories/' + params.categoryId + '/categories/users/edit', params, ['categoryId']); }\nexport function clientAdminCategoriesPath(params) { return process('/client_admin/categories', params, []); }\nexport function newClientAdminCategoryPath(params) { return process('/client_admin/categories/new', params, []); }\nexport function editClientAdminCategoryPath(params) { return process('/client_admin/categories/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminCategoryPath(params) { return process('/client_admin/categories/' + params.id + '', params, ['id']); }\nexport function editClientAdminConfigurationsClientWorkContentsPath(params) { return process('/client_admin/configurations/clients/' + params.clientId + '/work_contents/edit', params, ['clientId']); }\nexport function clientAdminConfigurationsClientWorkContentsPath(params) { return process('/client_admin/configurations/clients/' + params.clientId + '/work_contents', params, ['clientId']); }\nexport function clientAdminConfigurationsClientsPath(params) { return process('/client_admin/configurations/clients', params, []); }\nexport function newClientAdminConfigurationsClientPath(params) { return process('/client_admin/configurations/clients/new', params, []); }\nexport function editClientAdminConfigurationsClientPath(params) { return process('/client_admin/configurations/clients/' + params.id + '/edit', params, ['id']); }\nexport function clientAdminConfigurationsClientPath(params) { return process('/client_admin/configurations/clients/' + params.id + '', params, ['id']); }\nexport function systemAdminRootPath(params) { return process('/system_admin', params, []); }\nexport function systemAdminClientsPath(params) { return process('/system_admin/clients', params, []); }\nexport function newSystemAdminClientPath(params) { return process('/system_admin/clients/new', params, []); }\nexport function editSystemAdminClientPath(params) { return process('/system_admin/clients/' + params.id + '/edit', params, ['id']); }\nexport function systemAdminClientPath(params) { return process('/system_admin/clients/' + params.id + '', params, ['id']); }\nexport function lpPath(params) { return process('/lp', params, []); }\nexport function railsPostmarkInboundEmailsPath(params) { return process('/rails/action_mailbox/postmark/inbound_emails', params, []); }\nexport function railsRelayInboundEmailsPath(params) { return process('/rails/action_mailbox/relay/inbound_emails', params, []); }\nexport function railsSendgridInboundEmailsPath(params) { return process('/rails/action_mailbox/sendgrid/inbound_emails', params, []); }\nexport function railsMandrillInboundHealthCheckPath(params) { return process('/rails/action_mailbox/mandrill/inbound_emails', params, []); }\nexport function railsMandrillInboundEmailsPath(params) { return process('/rails/action_mailbox/mandrill/inbound_emails', params, []); }\nexport function railsMailgunInboundEmailsPath(params) { return process('/rails/action_mailbox/mailgun/inbound_emails/mime', params, []); }\nexport function railsConductorInboundEmailsPath(params) { return process('/rails/conductor/action_mailbox/inbound_emails', params, []); }\nexport function newRailsConductorInboundEmailPath(params) { return process('/rails/conductor/action_mailbox/inbound_emails/new', params, []); }\nexport function editRailsConductorInboundEmailPath(params) { return process('/rails/conductor/action_mailbox/inbound_emails/' + params.id + '/edit', params, ['id']); }\nexport function railsConductorInboundEmailPath(params) { return process('/rails/conductor/action_mailbox/inbound_emails/' + params.id + '', params, ['id']); }\nexport function railsConductorInboundEmailReroutePath(params) { return process('/rails/conductor/action_mailbox/' + params.inboundEmailId + '/reroute', params, ['inboundEmailId']); }\nexport function railsServiceBlobPath(params) { return process('/rails/active_storage/blobs/' + params.signedId + '/*filename', params, ['signedId']); }\nexport function railsBlobRepresentationPath(params) { return process('/rails/active_storage/representations/' + params.signedBlobId + '/' + params.variationKey + '/*filename', params, ['signedBlobId','variationKey']); }\nexport function railsDiskServicePath(params) { return process('/rails/active_storage/disk/' + params.encodedKey + '/*filename', params, ['encodedKey']); }\nexport function updateRailsDiskServicePath(params) { return process('/rails/active_storage/disk/' + params.encodedToken + '', params, ['encodedToken']); }\nexport function railsDirectUploadsPath(params) { return process('/rails/active_storage/direct_uploads', params, []); }\n","export const visit = (url: string) => {\n if (window.Turbolinks?.visit) {\n window.Turbolinks.visit(url);\n return;\n }\n\n // recovery if nothing turbolinks\n window.location.href = url;\n};\n","/**\n * Module dependencies\n */\nvar balanced = require(\"balanced-match\");\n\nvar reduceFunctionCall = require(\"reduce-function-call\");\n\nvar mexp = require(\"math-expression-evaluator\");\n/**\n * Constantes\n */\n\n\nvar MAX_STACK = 100; // should be enough for a single calc()...\n\nvar NESTED_CALC_RE = /(\\+|\\-|\\*|\\\\|[^a-z]|)(\\s*)(\\()/g;\n/**\n * Global variables\n */\n\nvar stack;\n/**\n * Expose reduceCSSCalc plugin\n *\n * @type {Function}\n */\n\nmodule.exports = reduceCSSCalc;\n/**\n * Reduce CSS calc() in a string, whenever it's possible\n *\n * @param {String} value css input\n */\n\nfunction reduceCSSCalc(value, decimalPrecision) {\n stack = 0;\n decimalPrecision = Math.pow(10, decimalPrecision === undefined ? 5 : decimalPrecision); // Allow calc() on multiple lines\n\n value = value.replace(/\\n+/g, \" \");\n /**\n * Evaluates an expression\n *\n * @param {String} expression\n * @returns {String}\n */\n\n function evaluateExpression(expression, functionIdentifier, call) {\n if (stack++ > MAX_STACK) {\n stack = 0;\n throw new Error(\"Call stack overflow for \" + call);\n }\n\n if (expression === \"\") {\n throw new Error(functionIdentifier + \"(): '\" + call + \"' must contain a non-whitespace string\");\n }\n\n expression = evaluateNestedExpression(expression, call);\n var units = getUnitsInExpression(expression); // If the expression contains multiple units or CSS variables,\n // then let the expression be (i.e. browser calc())\n\n if (units.length > 1 || expression.indexOf(\"var(\") > -1) {\n return functionIdentifier + \"(\" + expression + \")\";\n }\n\n var unit = units[0] || \"\";\n\n if (unit === \"%\") {\n // Convert percentages to numbers, to handle expressions like: 50% * 50% (will become: 25%):\n // console.log(expression)\n expression = expression.replace(/\\b[0-9\\.]+%/g, function (percent) {\n return parseFloat(percent.slice(0, -1)) * 0.01;\n });\n } // Remove units in expression:\n\n\n var toEvaluate = expression.replace(new RegExp(unit, \"gi\"), \"\");\n var result;\n\n try {\n result = mexp.eval(toEvaluate);\n } catch (e) {\n return functionIdentifier + \"(\" + expression + \")\";\n } // Transform back to a percentage result:\n\n\n if (unit === \"%\") {\n result *= 100;\n } // adjust rounding shit\n // (0.1 * 0.2 === 0.020000000000000004)\n\n\n if (functionIdentifier.length || unit === \"%\") {\n result = Math.round(result * decimalPrecision) / decimalPrecision;\n } // Add unit\n\n\n result += unit;\n return result;\n }\n /**\n * Evaluates nested expressions\n *\n * @param {String} expression\n * @returns {String}\n */\n\n\n function evaluateNestedExpression(expression, call) {\n // Remove the calc part from nested expressions to ensure\n // better browser compatibility\n expression = expression.replace(/((?:\\-[a-z]+\\-)?calc)/g, \"\");\n var evaluatedPart = \"\";\n var nonEvaluatedPart = expression;\n var matches;\n\n while (matches = NESTED_CALC_RE.exec(nonEvaluatedPart)) {\n if (matches[0].index > 0) {\n evaluatedPart += nonEvaluatedPart.substring(0, matches[0].index);\n }\n\n var balancedExpr = balanced(\"(\", \")\", nonEvaluatedPart.substring([0].index));\n\n if (balancedExpr.body === \"\") {\n throw new Error(\"'\" + expression + \"' must contain a non-whitespace string\");\n }\n\n var evaluated = evaluateExpression(balancedExpr.body, \"\", call);\n evaluatedPart += balancedExpr.pre + evaluated;\n nonEvaluatedPart = balancedExpr.post;\n }\n\n return evaluatedPart + nonEvaluatedPart;\n }\n\n return reduceFunctionCall(value, /((?:\\-[a-z]+\\-)?calc)\\(/, evaluateExpression);\n}\n/**\n * Checks what units are used in an expression\n *\n * @param {String} expression\n * @returns {Array}\n */\n\n\nfunction getUnitsInExpression(expression) {\n var uniqueUnits = [];\n var uniqueLowerCaseUnits = [];\n var unitRegEx = /[\\.0-9]([%a-z]+)/gi;\n var matches = unitRegEx.exec(expression);\n\n while (matches) {\n if (!matches || !matches[1]) {\n continue;\n }\n\n if (uniqueLowerCaseUnits.indexOf(matches[1].toLowerCase()) === -1) {\n uniqueUnits.push(matches[1]);\n uniqueLowerCaseUnits.push(matches[1].toLowerCase());\n }\n\n matches = unitRegEx.exec(expression);\n }\n\n return uniqueUnits;\n}","import * as React from \"react\";\n\nfunction MinusCircleOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"MinusCircleOutline-MinusCircleOutline\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"MinusCircleOutline-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"MinusCircleOutline-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,2 C36.1502645,2 46,11.8497355 46,24 C46,36.1502645 36.1502645,46 24,46 C11.8497355,46 2,36.1502645 2,24 C2,11.8497355 11.8497355,2 24,2 Z M24,5 C13.5065898,5 5,13.5065898 5,24 C5,34.4934102 13.5065898,43 24,43 C34.4934102,43 43,34.4934102 43,24 C43,13.5065898 34.4934102,5 24,5 Z M33.5,22.9 L33.5,25.1 C33.5,25.3209139 33.3209139,25.5 33.1,25.5 L14.9,25.5 C14.6790861,25.5 14.5,25.3209139 14.5,25.1 L14.5,22.9 C14.5,22.6790861 14.6790861,22.5 14.9,22.5 L33.1,22.5 C33.3209139,22.5 33.5,22.6790861 33.5,22.9 Z\",\n id: \"MinusCircleOutline-\\u5F62\\u72B6\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default MinusCircleOutline;","import * as React from \"react\";\n\nfunction EditSFill(props) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\"\n }, props, {\n style: Object.assign({\n verticalAlign: '-0.125em'\n }, props.style),\n className: ['antd-mobile-icon', props.className].filter(Boolean).join(' ')\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"EditSFill-EditSFill\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"EditSFill-\\u7F16\\u7EC4\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"EditSFill-\\u77E9\\u5F62\",\n fill: \"#FFFFFF\",\n opacity: 0,\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.5581882,38.9405779 C41.8382044,38.9405779 41.9782122,39.0765521 41.9782122,39.3485009 L41.9782122,41.592077 C41.9782122,41.8640258 41.8382044,42 41.5581882,42 L24.5472085,42 C24.2671923,42 24.1271844,41.8640258 24.1271844,41.592077 L24.1271844,39.3485009 C24.1271844,39.0765521 24.2671923,38.9405779 24.5472085,38.9405779 L41.5581882,38.9405779 Z M27.5325522,13.8391031 L34.9564907,21.0501177 C35.3664155,21.4483524 35.3664155,22.0938928 34.9564908,22.4921247 L15.217454,41.6645312 C15.0204038,41.8554216 14.7533811,41.9623153 14.4750596,41.9623153 L8.10012595,41.9623153 C6.9402636,41.9623153 6.00000168,41.0491486 6.00000168,39.9226974 L6.00000168,33.7324869 C5.99950341,33.4618321 6.1098059,33.2020832 6.30661496,33.010458 L26.0477683,13.8391032 C26.4578166,13.4409884 27.1225068,13.4409884 27.5325522,13.8391031 Z M41.5581882,32.8217298 C41.8382044,32.8217298 41.9782122,32.957704 41.9782122,33.2296528 L41.9782122,35.4732289 C41.9782122,35.7451777 41.8382044,35.8811519 41.5581882,35.8811519 L32.9477087,35.8811519 C32.6676925,35.8811519 32.5276846,35.7451777 32.5276846,35.4732289 L32.5276846,33.2296528 C32.5276846,32.957704 32.6676925,32.8217298 32.9477087,32.8217298 L41.5581882,32.8217298 Z M40.1542565,8.79202516 L40.15429,8.7910055 C42.614941,11.1803631 42.6152806,15.0546026 40.1550449,17.4443474 C40.1547933,17.4445917 40.1545418,17.444836 40.1542903,17.4450802 L38.6695064,18.8870871 C38.2911871,19.2549161 37.6955751,19.2835165 37.2834679,18.9726724 L37.1844961,18.8878895 C37.1842206,18.8876222 37.1839453,18.8873548 37.1836701,18.8870872 L29.7597261,11.6750209 C29.3498014,11.2767862 29.3498014,10.6312458 29.759726,10.233014 L31.2445098,8.79202539 C33.7049196,6.40265824 37.6938664,6.40265824 40.1542565,8.79202516 Z\",\n id: \"EditSFill-\\u5F62\\u72B6\\u7ED3\\u5408\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }))));\n}\n\nexport default EditSFill;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n'use strict';\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;","var _Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n/** `Object#toString` result references. */\n\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nmodule.exports = baseGetTag;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && _typeof(value) == 'object';\n}\n\nmodule.exports = isObjectLike;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj[\"default\"] = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n\n\nfunction baseGet(object, path) {\n path = castPath(path, object);\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n\n return index && index == length ? object : undefined;\n}\n\nmodule.exports = baseGet;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n/** Used to match property names within property paths. */\n\n\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n\n var type = _typeof(value);\n\n if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n return true;\n }\n\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\n\nmodule.exports = isKey;","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nmodule.exports = MapCache;","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n/** `Object#toString` result references. */\n\n\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n } // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\n\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Map = getNative(root, 'Map');\nmodule.exports = Map;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n\nfunction isIndex(value, length) {\n var type = _typeof(value);\n\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n} // Add methods to `Stack`.\n\n\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\nmodule.exports = Stack;","var defineProperty = require('./_defineProperty');\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\n\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n return value === proto;\n}\n\nmodule.exports = isPrototype;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 root = require('./_root'),\n stubFalse = require('./stubFalse');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Built-in value references. */\n\nvar Buffer = moduleExports ? root.Buffer : undefined;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n\nvar isBuffer = nativeIsBuffer || stubFalse;\nmodule.exports = isBuffer;","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n/* Node.js helper references. */\n\n\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nmodule.exports = isTypedArray;","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n set.forEach(function (value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n\n\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;","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","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(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","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\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","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","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Map = getNative(root, 'Map');\nmodule.exports = Map;","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nmodule.exports = MapCache;","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n\n\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n\n if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n set.forEach(function (value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Built-in value references. */\n\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n\nvar isArguments = baseIsArguments(function () {\n return arguments;\n}()) ? baseIsArguments : function (value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n};\nmodule.exports = isArguments;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n\nfunction isIndex(value, length) {\n var type = _typeof(value);\n\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n/** Used to match property names within property paths. */\n\n\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n\n var type = _typeof(value);\n\n if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n return true;\n }\n\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\n\nmodule.exports = isKey;","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n\n return result;\n}\n\nmodule.exports = arrayMap;","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n\n\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n\n if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Map = getNative(root, 'Map');\nmodule.exports = Map;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = _typeof(value);\n\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nmodule.exports = MapCache;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n\n\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n\n return result;\n}\n\nmodule.exports = arrayMap;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n/** Used to match property names within property paths. */\n\n\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n\n var type = _typeof(value);\n\n if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n return true;\n }\n\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\n\nmodule.exports = isKey;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar symbolTag = '[object Symbol]';\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nmodule.exports = isSymbol;","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n\n\nvar baseEach = createBaseEach(baseForOwn);\nmodule.exports = baseEach;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","import hoistNonReactStatics$1 from 'hoist-non-react-statics'; // this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = function hoistNonReactStatics(targetComponent, sourceComponent) {\n return hoistNonReactStatics$1(targetComponent, sourceComponent);\n};\n\nexport default hoistNonReactStatics;","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar sizerStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n visibility: 'hidden',\n height: 0,\n overflow: 'scroll',\n whiteSpace: 'pre'\n};\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n INPUT_PROPS_BLACKLIST.forEach(function (field) {\n return delete inputProps[field];\n });\n return inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n node.style.fontSize = styles.fontSize;\n node.style.fontFamily = styles.fontFamily;\n node.style.fontWeight = styles.fontWeight;\n node.style.fontStyle = styles.fontStyle;\n node.style.letterSpacing = styles.letterSpacing;\n node.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n // we only need an auto-generated ID for stylesheet injection, which is only\n // used for IE. so if the browser is not IE, this should return undefined.\n return isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n _inherits(AutosizeInput, _Component);\n\n _createClass(AutosizeInput, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, state) {\n var id = props.id;\n return id !== state.prevId ? {\n inputId: id || generateId(),\n prevId: id\n } : null;\n }\n }]);\n\n function AutosizeInput(props) {\n _classCallCheck(this, AutosizeInput);\n\n var _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n _this.inputRef = function (el) {\n _this.input = el;\n\n if (typeof _this.props.inputRef === 'function') {\n _this.props.inputRef(el);\n }\n };\n\n _this.placeHolderSizerRef = function (el) {\n _this.placeHolderSizer = el;\n };\n\n _this.sizerRef = function (el) {\n _this.sizer = el;\n };\n\n _this.state = {\n inputWidth: props.minWidth,\n inputId: props.id || generateId(),\n prevId: props.id\n };\n return _this;\n }\n\n _createClass(AutosizeInput, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.mounted = true;\n this.copyInputStyles();\n this.updateInputWidth();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (prevState.inputWidth !== this.state.inputWidth) {\n if (typeof this.props.onAutosize === 'function') {\n this.props.onAutosize(this.state.inputWidth);\n }\n }\n\n this.updateInputWidth();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: 'copyInputStyles',\n value: function copyInputStyles() {\n if (!this.mounted || !window.getComputedStyle) {\n return;\n }\n\n var inputStyles = this.input && window.getComputedStyle(this.input);\n\n if (!inputStyles) {\n return;\n }\n\n copyStyles(inputStyles, this.sizer);\n\n if (this.placeHolderSizer) {\n copyStyles(inputStyles, this.placeHolderSizer);\n }\n }\n }, {\n key: 'updateInputWidth',\n value: function updateInputWidth() {\n if (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n return;\n }\n\n var newInputWidth = void 0;\n\n if (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n newInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n } else {\n newInputWidth = this.sizer.scrollWidth + 2;\n } // add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\n\n var extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n newInputWidth += extraWidth;\n\n if (newInputWidth < this.props.minWidth) {\n newInputWidth = this.props.minWidth;\n }\n\n if (newInputWidth !== this.state.inputWidth) {\n this.setState({\n inputWidth: newInputWidth\n });\n }\n }\n }, {\n key: 'getInput',\n value: function getInput() {\n return this.input;\n }\n }, {\n key: 'focus',\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: 'select',\n value: function select() {\n this.input.select();\n }\n }, {\n key: 'renderStyles',\n value: function renderStyles() {\n // this method injects styles to hide IE's clear indicator, which messes\n // with input size detection. the stylesheet is only injected when the\n // browser is IE, and can also be disabled by the `injectStyles` prop.\n var injectStyles = this.props.injectStyles;\n return isIE && injectStyles ? _react2[\"default\"].createElement('style', {\n dangerouslySetInnerHTML: {\n __html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n }\n }) : null;\n }\n }, {\n key: 'render',\n value: function render() {\n var sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n if (previousValue !== null && previousValue !== undefined) {\n return previousValue;\n }\n\n return currentValue;\n });\n\n var wrapperStyle = _extends({}, this.props.style);\n\n if (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n var inputStyle = _extends({\n boxSizing: 'content-box',\n width: this.state.inputWidth + 'px'\n }, this.props.inputStyle);\n\n var inputProps = _objectWithoutProperties(this.props, []);\n\n cleanInputProps(inputProps);\n inputProps.className = this.props.inputClassName;\n inputProps.id = this.state.inputId;\n inputProps.style = inputStyle;\n return _react2[\"default\"].createElement('div', {\n className: this.props.className,\n style: wrapperStyle\n }, this.renderStyles(), _react2[\"default\"].createElement('input', _extends({}, inputProps, {\n ref: this.inputRef\n })), _react2[\"default\"].createElement('div', {\n ref: this.sizerRef,\n style: sizerStyle\n }, sizerValue), this.props.placeholder ? _react2[\"default\"].createElement('div', {\n ref: this.placeHolderSizerRef,\n style: sizerStyle\n }, this.props.placeholder) : null);\n }\n }]);\n\n return AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n className: _propTypes2[\"default\"].string,\n // className for the outer element\n defaultValue: _propTypes2[\"default\"].any,\n // default field value\n extraWidth: _propTypes2[\"default\"].oneOfType([// additional width for input element\n _propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n id: _propTypes2[\"default\"].string,\n // id to use for the input, can be set for consistent snapshots\n injectStyles: _propTypes2[\"default\"].bool,\n // inject the custom stylesheet to hide clear UI, defaults to true\n inputClassName: _propTypes2[\"default\"].string,\n // className for the input element\n inputRef: _propTypes2[\"default\"].func,\n // ref callback for the input element\n inputStyle: _propTypes2[\"default\"].object,\n // css styles for the input element\n minWidth: _propTypes2[\"default\"].oneOfType([// minimum width for input element\n _propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n onAutosize: _propTypes2[\"default\"].func,\n // onAutosize handler: function(newWidth) {}\n onChange: _propTypes2[\"default\"].func,\n // onChange handler: function(event) {}\n placeholder: _propTypes2[\"default\"].string,\n // placeholder text\n placeholderIsMinWidth: _propTypes2[\"default\"].bool,\n // don't collapse size to less than the placeholder\n style: _propTypes2[\"default\"].object,\n // css styles for the outer element\n value: _propTypes2[\"default\"].any // field value\n\n};\nAutosizeInput.defaultProps = {\n minWidth: 1,\n injectStyles: true\n};\nexports[\"default\"] = AutosizeInput;","var baseGet = require('./_baseGet');\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n\n\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar numberTag = '[object Number]';\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n\nfunction isNumber(value) {\n return typeof value == 'number' || isObjectLike(value) && baseGetTag(value) == numberTag;\n}\n\nmodule.exports = isNumber;","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n/** Error message constants. */\n\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;","module.exports = require('./lib/axios');","var MapCache = require('./_MapCache');\n/** Error message constants. */\n\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || resolver != null && typeof resolver != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n var memoized = function memoized() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n\n memoized.cache = new (memoize.Cache || MapCache)();\n return memoized;\n} // Expose `MapCache`.\n\n\nmemoize.Cache = MapCache;\nmodule.exports = memoize;","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar numberTag = '[object Number]';\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n\nfunction isNumber(value) {\n return typeof value == 'number' || isObjectLike(value) && baseGetTag(value) == numberTag;\n}\n\nmodule.exports = isNumber;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getTickValues\", {\n enumerable: true,\n get: function get() {\n return _getNiceTickValues.getTickValues;\n }\n});\nObject.defineProperty(exports, \"getNiceTickValues\", {\n enumerable: true,\n get: function get() {\n return _getNiceTickValues.getNiceTickValues;\n }\n});\nObject.defineProperty(exports, \"getTickValuesFixedDomain\", {\n enumerable: true,\n get: function get() {\n return _getNiceTickValues.getTickValuesFixedDomain;\n }\n});\n\nvar _getNiceTickValues = require(\"./getNiceTickValues\");","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n\n\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n baseForOwn(object, function (value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;","export default __webpack_public_path__ + \"media/images/favicon-32x32-6a0f2b3f.png\";","export default __webpack_public_path__ + \"media/images/nippii-icon-1920x1920-37a6003a.png\";","export default __webpack_public_path__ + \"media/images/nippii-icon-1920x1920-transparent-92f6f385.png\";","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\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 xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar buildFullPath = require('../core/buildFullPath');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\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\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\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\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = ['baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'];\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);\n var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var defineProperty = require('./_defineProperty');\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\n\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;","var getNative = require('./_getNative');\n\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\n\nmodule.exports = defineProperty;","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n/** `Object#toString` result references. */\n\n\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n } // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\n\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n\nfunction isIndex(value, length) {\n var type = _typeof(value);\n\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 freeGlobal = require('./_freeGlobal');\n/** Detect free variable `self`. */\n\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nmodule.exports = root;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar _Symbol = root.Symbol;\nmodule.exports = _Symbol;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n\n\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n\nmodule.exports = toSource;","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n\n return result;\n}\n\nmodule.exports = arrayMap;","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n\n\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n\n object = object[key];\n }\n\n if (result || ++index != length) {\n return result;\n }\n\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\n\nfunction assignMergeValue(object, key, value) {\n if (value !== undefined && !eq(object[key], value) || value === undefined && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;","var getNative = require('./_getNative');\n\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\n\nmodule.exports = defineProperty;","var createBaseFor = require('./_createBaseFor');\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n\n\nvar baseFor = createBaseFor();\nmodule.exports = baseFor;","var root = require('./_root');\n/** Built-in value references. */\n\n\nvar Uint8Array = root.Uint8Array;\nmodule.exports = Uint8Array;","var overArg = require('./_overArg');\n/** Built-in value references. */\n\n\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\nmodule.exports = getPrototype;","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n\n\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers.\n isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties.\n isIndex(key, length)))) {\n result.push(key);\n }\n }\n\n return result;\n}\n\nmodule.exports = arrayLikeKeys;","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n\n\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n\n\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n this.__data__ = new MapCache();\n\n while (++index < length) {\n this.add(values[index]);\n }\n} // Add methods to `SetCache`.\n\n\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\nmodule.exports = SetCache;","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Set = getNative(root, 'Set');\nmodule.exports = Set;","/** Used to compose unicode character classes. */\nvar rsAstralRange = \"\\\\ud800-\\\\udfff\",\n rsComboMarksRange = \"\\\\u0300-\\\\u036f\",\n reComboHalfMarksRange = \"\\\\ufe20-\\\\ufe2f\",\n rsComboSymbolsRange = \"\\\\u20d0-\\\\u20ff\",\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = \"\\\\ufe0e\\\\ufe0f\";\n/** Used to compose unicode capture groups. */\n\nvar rsZWJ = \"\\\\u200d\";\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;","var toNumber = require('./toNumber');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n\n value = toNumber(value);\n\n if (value === INFINITY || value === -INFINITY) {\n var sign = value < 0 ? -1 : 1;\n return sign * MAX_INTEGER;\n }\n\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n\n return array;\n}\n\nmodule.exports = arrayPush;","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n\n\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n\n if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n/** Used to compose bitmasks for value comparisons. */\n\n\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n } // Check that cyclic values are equal.\n\n\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n\n var index = -1,\n result = true,\n seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;\n stack.set(array, other);\n stack.set(other, array); // Ignore non-index properties.\n\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n\n result = false;\n break;\n } // Recursively compare arrays (susceptible to call stack limits).\n\n\n if (seen) {\n if (!arraySome(other, function (othValue, othIndex) {\n if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n result = false;\n break;\n }\n }\n\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;","var isObject = require('./isObject');\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n\n\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function (object) {\n if (object == null) {\n return false;\n }\n\n return object[key] === srcValue && (srcValue !== undefined || key in Object(object));\n };\n}\n\nmodule.exports = matchesStrictComparable;","import React, { useState } from 'react';\nimport {\n PieChart, Pie, Cell,\n ResponsiveContainer,\n Sector,\n} from 'recharts';\nimport chroma from 'chroma-js';\n\nconst RADIAN = Math.PI / 180;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst renderActiveShape: React.FC = (props) => {\n const {\n cx, cy, midAngle, innerRadius, outerRadius, startAngle, endAngle,\n fill, payload, percent, value,\n } = props;\n\n const sin = Math.sin(-RADIAN * midAngle);\n const cos = Math.cos(-RADIAN * midAngle);\n const sx = cx + (outerRadius + 10) * cos;\n const sy = cy + (outerRadius + 10) * sin;\n const mx = cx + (outerRadius + 30) * cos;\n const my = cy + (outerRadius + 30) * sin;\n const ex = mx + (cos >= 0 ? 1 : -1) * 22;\n const ey = my;\n const textAnchor = cos >= 0 ? 'start' : 'end';\n\n return (\n \n \n \n \n \n = 0 ? 1 : -1) * 12} y={ey} textAnchor={textAnchor} fill=\"#333\">\n {payload.name}\n \n = 0 ? 1 : -1) * 12} y={ey} dy={18} textAnchor={textAnchor} fill=\"#999\">\n {`${value} h `}\n {`(Rate ${(percent * 100).toFixed(2)}%)`}\n \n \n );\n};\n\ninterface PieGraphProps {\n graphData: Array<{ name: string, value: number }>;\n}\n\nconst PieGraph: React.FC = (props) => {\n const {\n graphData,\n } = props;\n\n const [activePie, setActivePie] = useState(0);\n\n const colors = chroma.scale('Spectral').mode('lch').colors(graphData.length);\n\n return (\n \n \n setActivePie(i)}\n >\n {\n graphData.map((entry, index) => )\n }\n \n \n \n );\n};\n\nexport default PieGraph;\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 = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), '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 = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\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","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 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: '© 2020 Denis Pushkarev (zloirock.ru)'\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","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n} // Add methods to `Stack`.\n\n\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\nmodule.exports = Stack;","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n\nmodule.exports = toSource;","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n/** Used to compose bitmasks for value comparisons. */\n\n\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n } // Assume cyclic values are equal.\n\n\n var stacked = stack.get(array);\n\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n\n var index = -1,\n result = true,\n seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;\n stack.set(array, other);\n stack.set(other, array); // Ignore non-index properties.\n\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n\n result = false;\n break;\n } // Recursively compare arrays (susceptible to call stack limits).\n\n\n if (seen) {\n if (!arraySome(other, function (othValue, othIndex) {\n if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n result = false;\n break;\n }\n }\n\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n\n\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n this.__data__ = new MapCache();\n\n while (++index < length) {\n this.add(values[index]);\n }\n} // Add methods to `SetCache`.\n\n\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\nmodule.exports = SetCache;","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n\n return false;\n}\n\nmodule.exports = arraySome;","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n\n return array;\n}\n\nmodule.exports = arrayPush;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 root = require('./_root'),\n stubFalse = require('./stubFalse');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Built-in value references. */\n\nvar Buffer = moduleExports ? root.Buffer : undefined;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n\nvar isBuffer = nativeIsBuffer || stubFalse;\nmodule.exports = isBuffer;","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n/* Node.js helper references. */\n\n\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nmodule.exports = isTypedArray;","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;","var getNative = require('./_getNative'),\n root = require('./_root');\n/* Built-in method references that are verified to be native. */\n\n\nvar Set = getNative(root, 'Set');\nmodule.exports = Set;","var isObject = require('./isObject');\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n\n\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function (object) {\n if (object == null) {\n return false;\n }\n\n return object[key] === srcValue && (srcValue !== undefined || key in Object(object));\n };\n}\n\nmodule.exports = matchesStrictComparable;","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n\n\nfunction baseGet(object, path) {\n path = castPath(path, object);\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n\n return index && index == length ? object : undefined;\n}\n\nmodule.exports = baseGet;","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n\n\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while (fromRight ? index-- : ++index < length) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n\n return -1;\n}\n\nmodule.exports = baseFindIndex;","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\n\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n} // Add methods to `Stack`.\n\n\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\nmodule.exports = Stack;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n\nmodule.exports = eq;","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n/** `Object#toString` result references. */\n\n\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n } // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\n\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\nmodule.exports = freeGlobal;","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n\nmodule.exports = toSource;","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n/** Used to compose bitmasks for value comparisons. */\n\n\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n } // Check that cyclic values are equal.\n\n\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n\n var index = -1,\n result = true,\n seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;\n stack.set(array, other);\n stack.set(other, array); // Ignore non-index properties.\n\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n\n result = false;\n break;\n } // Recursively compare arrays (susceptible to call stack limits).\n\n\n if (seen) {\n if (!arraySome(other, function (othValue, othIndex) {\n if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n result = false;\n break;\n }\n }\n\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n\n\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n this.__data__ = new MapCache();\n\n while (++index < length) {\n this.add(values[index]);\n }\n} // Add methods to `SetCache`.\n\n\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\nmodule.exports = SetCache;","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n\n return result;\n}\n\nmodule.exports = arrayFilter;","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n/** Used for built-in method references. */\n\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Built-in value references. */\n\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n\nvar isArguments = baseIsArguments(function () {\n return arguments;\n}()) ? baseIsArguments : function (value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n};\nmodule.exports = isArguments;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 root = require('./_root'),\n stubFalse = require('./stubFalse');\n/** Detect free variable `exports`. */\n\n\nvar freeExports = (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Built-in value references. */\n\nvar Buffer = moduleExports ? root.Buffer : undefined;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n\nvar isBuffer = nativeIsBuffer || stubFalse;\nmodule.exports = isBuffer;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n\nfunction isIndex(value, length) {\n var type = _typeof(value);\n\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n/* Node.js helper references. */\n\n\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nmodule.exports = isTypedArray;","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;","var isObject = require('./isObject');\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n\n\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function (object) {\n if (object == null) {\n return false;\n }\n\n return object[key] === srcValue && (srcValue !== undefined || key in Object(object));\n };\n}\n\nmodule.exports = matchesStrictComparable;","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n\n\nfunction baseGet(object, path) {\n path = castPath(path, object);\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n\n return index && index == length ? object : undefined;\n}\n\nmodule.exports = baseGet;","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n\n\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props[\"in\"]) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref[\"in\"];\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props[\"in\"]) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom[\"default\"].findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps[\"in\"];\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react[\"default\"].Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n \"in\": PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n \"in\": false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports[\"default\"] = _default;","/**\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 */\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n } // Binding \"this\" is important for shallow renderer support.\n\n\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(prevProps, prevState);\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n} // React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\n\n\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function') {\n return Component;\n } // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n\n\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n\n if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\n var componentName = Component.displayName || Component.name;\n var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\n throw Error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') + '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' + 'https://fb.me/react-async-component-lifecycle-hooks');\n } // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n\n\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n } // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n\n\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error('Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype');\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(prevProps, prevState, maybeSnapshot) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot;\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].number, _propTypes[\"default\"].shape({\n enter: _propTypes[\"default\"].number,\n exit: _propTypes[\"default\"].number,\n appear: _propTypes[\"default\"].number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].shape({\n enter: _propTypes[\"default\"].string,\n exit: _propTypes[\"default\"].string,\n active: _propTypes[\"default\"].string\n}), _propTypes[\"default\"].shape({\n enter: _propTypes[\"default\"].string,\n enterDone: _propTypes[\"default\"].string,\n enterActive: _propTypes[\"default\"].string,\n exit: _propTypes[\"default\"].string,\n exitDone: _propTypes[\"default\"].string,\n exitActive: _propTypes[\"default\"].string\n})]) : null;\nexports.classNamesShape = classNamesShape;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react[\"default\"].createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react[\"default\"].Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes[\"default\"].object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes[\"default\"].any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes[\"default\"].bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes[\"default\"].bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes[\"default\"].bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes[\"default\"].func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n\n\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n\n return result;\n}\n\nmodule.exports = baseFlatten;","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n\n\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n baseEach(collection, function (value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n\n\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;","var getNative = require('./_getNative');\n\nvar defineProperty = function () {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}();\n\nmodule.exports = defineProperty;","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n/** Used as references for various `Number` constants. */\n\n\nvar NAN = 0 / 0;\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = toNumber;","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\n;\n\n(function (globalScope) {\n 'use strict';\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\n // The limit on the value of `precision`, and on the value of the first argument to\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\n\n var MAX_DIGITS = 1e9,\n // 0 to 1e9\n // The initial configuration properties of the Decimal constructor.\n Decimal = {\n // These values must be integers within the stated ranges (inclusive).\n // Most of these values can be changed during run-time using `Decimal.config`.\n // The maximum number of significant digits of the result of a calculation or base conversion.\n // E.g. `Decimal.config({ precision: 20 });`\n precision: 20,\n // 1 to MAX_DIGITS\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\n //\n // ROUND_UP 0 Away from zero.\n // ROUND_DOWN 1 Towards zero.\n // ROUND_CEIL 2 Towards +Infinity.\n // ROUND_FLOOR 3 Towards -Infinity.\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\n //\n // E.g.\n // `Decimal.rounding = 4;`\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\n rounding: 4,\n // 0 to 8\n // The exponent value at and beneath which `toString` returns exponential notation.\n // JavaScript numbers: -7\n toExpNeg: -7,\n // 0 to -MAX_E\n // The exponent value at and above which `toString` returns exponential notation.\n // JavaScript numbers: 21\n toExpPos: 21,\n // 0 to MAX_E\n // The natural logarithm of 10.\n // 115 digits\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\n },\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\n external = true,\n decimalError = '[DecimalError] ',\n invalidArgument = decimalError + 'Invalid argument: ',\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\n mathfloor = Math.floor,\n mathpow = Math.pow,\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\n ONE,\n BASE = 1e7,\n LOG_BASE = 7,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE),\n // 1286742750677284\n // Decimal.prototype object\n P = {}; // Decimal prototype methods\n\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\n\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\n\n P.absoluteValue = P.abs = function () {\n var x = new this.constructor(this);\n if (x.s) x.s = 1;\n return x;\n };\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\n\n\n P.comparedTo = P.cmp = function (y) {\n var i,\n j,\n xdL,\n ydL,\n x = this;\n y = new x.constructor(y); // Signs differ?\n\n if (x.s !== y.s) return x.s || -y.s; // Compare exponents.\n\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\n xdL = x.d.length;\n ydL = y.d.length; // Compare digit by digit.\n\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\n } // Compare lengths.\n\n\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\n };\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\n\n\n P.decimalPlaces = P.dp = function () {\n var x = this,\n w = x.d.length - 1,\n dp = (w - x.e) * LOG_BASE; // Subtract the number of trailing zeros of the last word.\n\n w = x.d[w];\n if (w) for (; w % 10 == 0; w /= 10) {\n dp--;\n }\n return dp < 0 ? 0 : dp;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\n\n\n P.dividedBy = P.div = function (y) {\n return divide(this, new this.constructor(y));\n };\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\n\n\n P.dividedToIntegerBy = P.idiv = function (y) {\n var x = this,\n Ctor = x.constructor;\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\n };\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\n\n\n P.equals = P.eq = function (y) {\n return !this.cmp(y);\n };\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\n\n\n P.exponent = function () {\n return getBase10Exponent(this);\n };\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\n\n\n P.greaterThan = P.gt = function (y) {\n return this.cmp(y) > 0;\n };\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\n\n\n P.greaterThanOrEqualTo = P.gte = function (y) {\n return this.cmp(y) >= 0;\n };\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\n\n\n P.isInteger = P.isint = function () {\n return this.e > this.d.length - 2;\n };\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\n\n\n P.isNegative = P.isneg = function () {\n return this.s < 0;\n };\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\n\n\n P.isPositive = P.ispos = function () {\n return this.s > 0;\n };\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\n\n\n P.isZero = function () {\n return this.s === 0;\n };\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\n\n\n P.lessThan = P.lt = function (y) {\n return this.cmp(y) < 0;\n };\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\n\n\n P.lessThanOrEqualTo = P.lte = function (y) {\n return this.cmp(y) < 1;\n };\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\n\n\n P.logarithm = P.log = function (base) {\n var r,\n x = this,\n Ctor = x.constructor,\n pr = Ctor.precision,\n wpr = pr + 5; // Default base is 10.\n\n if (base === void 0) {\n base = new Ctor(10);\n } else {\n base = new Ctor(base); // log[-b](x) = NaN\n // log[0](x) = NaN\n // log[1](x) = NaN\n\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\n } // log[b](-x) = NaN\n // log[b](0) = -Infinity\n\n\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity')); // log[b](1) = 0\n\n if (x.eq(ONE)) return new Ctor(0);\n external = false;\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\n external = true;\n return round(r, pr);\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\n\n\n P.minus = P.sub = function (y) {\n var x = this;\n y = new x.constructor(y);\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\n\n\n P.modulo = P.mod = function (y) {\n var q,\n x = this,\n Ctor = x.constructor,\n pr = Ctor.precision;\n y = new Ctor(y); // x % 0 = NaN\n\n if (!y.s) throw Error(decimalError + 'NaN'); // Return x if x is 0.\n\n if (!x.s) return round(new Ctor(x), pr); // Prevent rounding of intermediate calculations.\n\n external = false;\n q = divide(x, y, 0, 1).times(y);\n external = true;\n return x.minus(q);\n };\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\n\n\n P.naturalExponential = P.exp = function () {\n return exp(this);\n };\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\n\n\n P.naturalLogarithm = P.ln = function () {\n return ln(this);\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\n\n\n P.negated = P.neg = function () {\n var x = new this.constructor(this);\n x.s = -x.s || 0;\n return x;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\n\n\n P.plus = P.add = function (y) {\n var x = this;\n y = new x.constructor(y);\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\n };\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\n\n\n P.precision = P.sd = function (z) {\n var e,\n sd,\n w,\n x = this;\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\n e = getBase10Exponent(x) + 1;\n w = x.d.length - 1;\n sd = w * LOG_BASE + 1;\n w = x.d[w]; // If non-zero...\n\n if (w) {\n // Subtract the number of trailing zeros of the last word.\n for (; w % 10 == 0; w /= 10) {\n sd--;\n } // Add the number of digits of the first word.\n\n\n for (w = x.d[0]; w >= 10; w /= 10) {\n sd++;\n }\n }\n\n return z && e > sd ? e : sd;\n };\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\n\n\n P.squareRoot = P.sqrt = function () {\n var e,\n n,\n pr,\n r,\n s,\n t,\n wpr,\n x = this,\n Ctor = x.constructor; // Negative or zero?\n\n if (x.s < 1) {\n if (!x.s) return new Ctor(0); // sqrt(-x) = NaN\n\n throw Error(decimalError + 'NaN');\n }\n\n e = getBase10Exponent(x);\n external = false; // Initial estimate.\n\n s = Math.sqrt(+x); // Math.sqrt underflow/overflow?\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\n\n if (s == 0 || s == 1 / 0) {\n n = digitsToString(x.d);\n if ((n.length + e) % 2 == 0) n += '0';\n s = Math.sqrt(n);\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\n\n if (s == 1 / 0) {\n n = '5e' + e;\n } else {\n n = s.toExponential();\n n = n.slice(0, n.indexOf('e') + 1) + e;\n }\n\n r = new Ctor(n);\n } else {\n r = new Ctor(s.toString());\n }\n\n pr = Ctor.precision;\n s = wpr = pr + 3; // Newton-Raphson iteration.\n\n for (;;) {\n t = r;\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\n\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\n n = n.slice(wpr - 3, wpr + 1); // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\n\n if (s == wpr && n == '4999') {\n // On the first iteration only, check to see if rounding up gives the exact result as the\n // nines may infinitely repeat.\n round(t, pr + 1, 0);\n\n if (t.times(t).eq(x)) {\n r = t;\n break;\n }\n } else if (n != '9999') {\n break;\n }\n\n wpr += 4;\n }\n }\n\n external = true;\n return round(r, pr);\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\n\n\n P.times = P.mul = function (y) {\n var carry,\n e,\n i,\n k,\n r,\n rL,\n t,\n xdL,\n ydL,\n x = this,\n Ctor = x.constructor,\n xd = x.d,\n yd = (y = new Ctor(y)).d; // Return 0 if either is 0.\n\n if (!x.s || !y.s) return new Ctor(0);\n y.s *= x.s;\n e = x.e + y.e;\n xdL = xd.length;\n ydL = yd.length; // Ensure xd points to the longer array.\n\n if (xdL < ydL) {\n r = xd;\n xd = yd;\n yd = r;\n rL = xdL;\n xdL = ydL;\n ydL = rL;\n } // Initialise the result array with zeros.\n\n\n r = [];\n rL = xdL + ydL;\n\n for (i = rL; i--;) {\n r.push(0);\n } // Multiply!\n\n\n for (i = ydL; --i >= 0;) {\n carry = 0;\n\n for (k = xdL + i; k > i;) {\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\n r[k--] = t % BASE | 0;\n carry = t / BASE | 0;\n }\n\n r[k] = (r[k] + carry) % BASE | 0;\n } // Remove trailing zeros.\n\n\n for (; !r[--rL];) {\n r.pop();\n }\n\n if (carry) ++e;else r.shift();\n y.d = r;\n y.e = e;\n return external ? round(y, Ctor.precision) : y;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\n\n\n P.toDecimalPlaces = P.todp = function (dp, rm) {\n var x = this,\n Ctor = x.constructor;\n x = new Ctor(x);\n if (dp === void 0) return x;\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;else checkInt32(rm, 0, 8);\n return round(x, dp + getBase10Exponent(x) + 1, rm);\n };\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\n\n\n P.toExponential = function (dp, rm) {\n var str,\n x = this,\n Ctor = x.constructor;\n\n if (dp === void 0) {\n str = toString(x, true);\n } else {\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;else checkInt32(rm, 0, 8);\n x = round(new Ctor(x), dp + 1, rm);\n str = toString(x, true, dp + 1);\n }\n\n return str;\n };\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\n\n\n P.toFixed = function (dp, rm) {\n var str,\n y,\n x = this,\n Ctor = x.constructor;\n if (dp === void 0) return toString(x);\n checkInt32(dp, 0, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;else checkInt32(rm, 0, 8);\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1); // To determine whether to add the minus sign look at the value before it was rounded,\n // i.e. look at `x` rather than `y`.\n\n return x.isneg() && !x.isZero() ? '-' + str : str;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\n\n\n P.toInteger = P.toint = function () {\n var x = this,\n Ctor = x.constructor;\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\n };\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\n\n\n P.toNumber = function () {\n return +this;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\n\n\n P.toPower = P.pow = function (y) {\n var e,\n k,\n pr,\n r,\n sign,\n yIsInt,\n x = this,\n Ctor = x.constructor,\n guard = 12,\n yn = +(y = new Ctor(y)); // pow(x, 0) = 1\n\n if (!y.s) return new Ctor(ONE);\n x = new Ctor(x); // pow(0, y > 0) = 0\n // pow(0, y < 0) = Infinity\n\n if (!x.s) {\n if (y.s < 1) throw Error(decimalError + 'Infinity');\n return x;\n } // pow(1, y) = 1\n\n\n if (x.eq(ONE)) return x;\n pr = Ctor.precision; // pow(x, 1) = x\n\n if (y.eq(ONE)) return round(x, pr);\n e = y.e;\n k = y.d.length - 1;\n yIsInt = e >= k;\n sign = x.s;\n\n if (!yIsInt) {\n // pow(x < 0, y non-integer) = NaN\n if (sign < 0) throw Error(decimalError + 'NaN'); // If y is a small integer use the 'exponentiation by squaring' algorithm.\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\n r = new Ctor(ONE); // Max k of 9007199254740991 takes 53 loop iterations.\n // Maximum digits array length; leaves [28, 34] guard digits.\n\n e = Math.ceil(pr / LOG_BASE + 4);\n external = false;\n\n for (;;) {\n if (k % 2) {\n r = r.times(x);\n truncate(r.d, e);\n }\n\n k = mathfloor(k / 2);\n if (k === 0) break;\n x = x.times(x);\n truncate(x.d, e);\n }\n\n external = true;\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\n } // Result is negative if x is negative and the last digit of integer y is odd.\n\n\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\n x.s = 1;\n external = false;\n r = y.times(ln(x, pr + guard));\n external = true;\n r = exp(r);\n r.s = sign;\n return r;\n };\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\n\n\n P.toPrecision = function (sd, rm) {\n var e,\n str,\n x = this,\n Ctor = x.constructor;\n\n if (sd === void 0) {\n e = getBase10Exponent(x);\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;else checkInt32(rm, 0, 8);\n x = round(new Ctor(x), sd, rm);\n e = getBase10Exponent(x);\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\n }\n\n return str;\n };\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\n\n\n P.toSignificantDigits = P.tosd = function (sd, rm) {\n var x = this,\n Ctor = x.constructor;\n\n if (sd === void 0) {\n sd = Ctor.precision;\n rm = Ctor.rounding;\n } else {\n checkInt32(sd, 1, MAX_DIGITS);\n if (rm === void 0) rm = Ctor.rounding;else checkInt32(rm, 0, 8);\n }\n\n return round(new Ctor(x), sd, rm);\n };\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\n\n\n P.toString = P.valueOf = P.val = P.toJSON = function () {\n var x = this,\n e = getBase10Exponent(x),\n Ctor = x.constructor;\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\n }; // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\n\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\n\n\n function add(x, y) {\n var carry,\n d,\n e,\n i,\n k,\n len,\n xd,\n yd,\n Ctor = x.constructor,\n pr = Ctor.precision; // If either is zero...\n\n if (!x.s || !y.s) {\n // Return x if y is zero.\n // Return y if y is non-zero.\n if (!y.s) y = new Ctor(x);\n return external ? round(y, pr) : y;\n }\n\n xd = x.d;\n yd = y.d; // x and y are finite, non-zero numbers with the same sign.\n\n k = x.e;\n e = y.e;\n xd = xd.slice();\n i = k - e; // If base 1e7 exponents differ...\n\n if (i) {\n if (i < 0) {\n d = xd;\n i = -i;\n len = yd.length;\n } else {\n d = yd;\n e = k;\n len = xd.length;\n } // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\n\n\n k = Math.ceil(pr / LOG_BASE);\n len = k > len ? k + 1 : len + 1;\n\n if (i > len) {\n i = len;\n d.length = 1;\n } // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\n\n\n d.reverse();\n\n for (; i--;) {\n d.push(0);\n }\n\n d.reverse();\n }\n\n len = xd.length;\n i = yd.length; // If yd is longer than xd, swap xd and yd so xd points to the longer array.\n\n if (len - i < 0) {\n i = len;\n d = yd;\n yd = xd;\n xd = d;\n } // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\n\n\n for (carry = 0; i;) {\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\n xd[i] %= BASE;\n }\n\n if (carry) {\n xd.unshift(carry);\n ++e;\n } // Remove trailing zeros.\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\n\n\n for (len = xd.length; xd[--len] == 0;) {\n xd.pop();\n }\n\n y.d = xd;\n y.e = e;\n return external ? round(y, pr) : y;\n }\n\n function checkInt32(i, min, max) {\n if (i !== ~~i || i < min || i > max) {\n throw Error(invalidArgument + i);\n }\n }\n\n function digitsToString(d) {\n var i,\n k,\n ws,\n indexOfLastWord = d.length - 1,\n str = '',\n w = d[0];\n\n if (indexOfLastWord > 0) {\n str += w;\n\n for (i = 1; i < indexOfLastWord; i++) {\n ws = d[i] + '';\n k = LOG_BASE - ws.length;\n if (k) str += getZeroString(k);\n str += ws;\n }\n\n w = d[i];\n ws = w + '';\n k = LOG_BASE - ws.length;\n if (k) str += getZeroString(k);\n } else if (w === 0) {\n return '0';\n } // Remove trailing zeros of last w.\n\n\n for (; w % 10 === 0;) {\n w /= 10;\n }\n\n return str + w;\n }\n\n var divide = function () {\n // Assumes non-zero x and k, and hence non-zero result.\n function multiplyInteger(x, k) {\n var temp,\n carry = 0,\n i = x.length;\n\n for (x = x.slice(); i--;) {\n temp = x[i] * k + carry;\n x[i] = temp % BASE | 0;\n carry = temp / BASE | 0;\n }\n\n if (carry) x.unshift(carry);\n return x;\n }\n\n function compare(a, b, aL, bL) {\n var i, r;\n\n if (aL != bL) {\n r = aL > bL ? 1 : -1;\n } else {\n for (i = r = 0; i < aL; i++) {\n if (a[i] != b[i]) {\n r = a[i] > b[i] ? 1 : -1;\n break;\n }\n }\n }\n\n return r;\n }\n\n function subtract(a, b, aL) {\n var i = 0; // Subtract b from a.\n\n for (; aL--;) {\n a[aL] -= i;\n i = a[aL] < b[aL] ? 1 : 0;\n a[aL] = i * BASE + a[aL] - b[aL];\n } // Remove leading zeros.\n\n\n for (; !a[0] && a.length > 1;) {\n a.shift();\n }\n }\n\n return function (x, y, pr, dp) {\n var cmp,\n e,\n i,\n k,\n prod,\n prodL,\n q,\n qd,\n rem,\n remL,\n rem0,\n sd,\n t,\n xi,\n xL,\n yd0,\n yL,\n yz,\n Ctor = x.constructor,\n sign = x.s == y.s ? 1 : -1,\n xd = x.d,\n yd = y.d; // Either 0?\n\n if (!x.s) return new Ctor(x);\n if (!y.s) throw Error(decimalError + 'Division by zero');\n e = x.e - y.e;\n yL = yd.length;\n xL = xd.length;\n q = new Ctor(sign);\n qd = q.d = []; // Result exponent may be one less than e.\n\n for (i = 0; yd[i] == (xd[i] || 0);) {\n ++i;\n }\n\n if (yd[i] > (xd[i] || 0)) --e;\n\n if (pr == null) {\n sd = pr = Ctor.precision;\n } else if (dp) {\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\n } else {\n sd = pr;\n }\n\n if (sd < 0) return new Ctor(0); // Convert precision in number of base 10 digits to base 1e7 digits.\n\n sd = sd / LOG_BASE + 2 | 0;\n i = 0; // divisor < 1e7\n\n if (yL == 1) {\n k = 0;\n yd = yd[0];\n sd++; // k is the carry.\n\n for (; (i < xL || k) && sd--; i++) {\n t = k * BASE + (xd[i] || 0);\n qd[i] = t / yd | 0;\n k = t % yd | 0;\n } // divisor >= 1e7\n\n } else {\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\n k = BASE / (yd[0] + 1) | 0;\n\n if (k > 1) {\n yd = multiplyInteger(yd, k);\n xd = multiplyInteger(xd, k);\n yL = yd.length;\n xL = xd.length;\n }\n\n xi = yL;\n rem = xd.slice(0, yL);\n remL = rem.length; // Add zeros to make remainder as long as divisor.\n\n for (; remL < yL;) {\n rem[remL++] = 0;\n }\n\n yz = yd.slice();\n yz.unshift(0);\n yd0 = yd[0];\n if (yd[1] >= BASE / 2) ++yd0;\n\n do {\n k = 0; // Compare divisor and remainder.\n\n cmp = compare(yd, rem, yL, remL); // If divisor < remainder.\n\n if (cmp < 0) {\n // Calculate trial digit, k.\n rem0 = rem[0];\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0); // k will be how many times the divisor goes into the current remainder.\n\n k = rem0 / yd0 | 0; // Algorithm:\n // 1. product = divisor * trial digit (k)\n // 2. if product > remainder: product -= divisor, k--\n // 3. remainder -= product\n // 4. if product was < remainder at 2:\n // 5. compare new remainder and divisor\n // 6. If remainder > divisor: remainder -= divisor, k++\n\n if (k > 1) {\n if (k >= BASE) k = BASE - 1; // product = divisor * trial digit.\n\n prod = multiplyInteger(yd, k);\n prodL = prod.length;\n remL = rem.length; // Compare product and remainder.\n\n cmp = compare(prod, rem, prodL, remL); // product > remainder.\n\n if (cmp == 1) {\n k--; // Subtract divisor from product.\n\n subtract(prod, yL < prodL ? yz : yd, prodL);\n }\n } else {\n // cmp is -1.\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\n if (k == 0) cmp = k = 1;\n prod = yd.slice();\n }\n\n prodL = prod.length;\n if (prodL < remL) prod.unshift(0); // Subtract product from remainder.\n\n subtract(rem, prod, remL); // If product was < previous remainder.\n\n if (cmp == -1) {\n remL = rem.length; // Compare divisor and new remainder.\n\n cmp = compare(yd, rem, yL, remL); // If divisor < new remainder, subtract divisor from remainder.\n\n if (cmp < 1) {\n k++; // Subtract divisor from remainder.\n\n subtract(rem, yL < remL ? yz : yd, remL);\n }\n }\n\n remL = rem.length;\n } else if (cmp === 0) {\n k++;\n rem = [0];\n } // if cmp === 1, k will be 0\n // Add the next digit, k, to the result array.\n\n\n qd[i++] = k; // Update the remainder.\n\n if (cmp && rem[0]) {\n rem[remL++] = xd[xi] || 0;\n } else {\n rem = [xd[xi]];\n remL = 1;\n }\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\n } // Leading zero?\n\n\n if (!qd[0]) qd.shift();\n q.e = e;\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\n };\n }();\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\n\n\n function exp(x, sd) {\n var denominator,\n guard,\n pow,\n sum,\n t,\n wpr,\n i = 0,\n k = 0,\n Ctor = x.constructor,\n pr = Ctor.precision;\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x)); // exp(0) = 1\n\n if (!x.s) return new Ctor(ONE);\n\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n\n t = new Ctor(0.03125);\n\n while (x.abs().gte(0.1)) {\n x = x.times(t); // x = x / 2^5\n\n k += 5;\n } // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\n\n\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\n wpr += guard;\n denominator = pow = sum = new Ctor(ONE);\n Ctor.precision = wpr;\n\n for (;;) {\n pow = round(pow.times(x), wpr);\n denominator = denominator.times(++i);\n t = sum.plus(divide(pow, denominator, wpr));\n\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n while (k--) {\n sum = round(sum.times(sum), wpr);\n }\n\n Ctor.precision = pr;\n return sd == null ? (external = true, round(sum, pr)) : sum;\n }\n\n sum = t;\n }\n } // Calculate the base 10 exponent from the base 1e7 exponent.\n\n\n function getBase10Exponent(x) {\n var e = x.e * LOG_BASE,\n w = x.d[0]; // Add the number of digits of the first word of the digits array.\n\n for (; w >= 10; w /= 10) {\n e++;\n }\n\n return e;\n }\n\n function getLn10(Ctor, sd, pr) {\n if (sd > Ctor.LN10.sd()) {\n // Reset global state in case the exception is caught.\n external = true;\n if (pr) Ctor.precision = pr;\n throw Error(decimalError + 'LN10 precision limit exceeded');\n }\n\n return round(new Ctor(Ctor.LN10), sd);\n }\n\n function getZeroString(k) {\n var zs = '';\n\n for (; k--;) {\n zs += '0';\n }\n\n return zs;\n }\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\n\n\n function ln(y, sd) {\n var c,\n c0,\n denominator,\n e,\n numerator,\n sum,\n t,\n wpr,\n x2,\n n = 1,\n guard = 10,\n x = y,\n xd = x.d,\n Ctor = x.constructor,\n pr = Ctor.precision; // ln(-x) = NaN\n // ln(0) = -Infinity\n\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity')); // ln(1) = 0\n\n if (x.eq(ONE)) return new Ctor(0);\n\n if (sd == null) {\n external = false;\n wpr = pr;\n } else {\n wpr = sd;\n }\n\n if (x.eq(10)) {\n if (sd == null) external = true;\n return getLn10(Ctor, wpr);\n }\n\n wpr += guard;\n Ctor.precision = wpr;\n c = digitsToString(xd);\n c0 = c.charAt(0);\n e = getBase10Exponent(x);\n\n if (Math.abs(e) < 1.5e15) {\n // Argument reduction.\n // The series converges faster the closer the argument is to 1, so using\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\n // later be divided by this number, then separate out the power of 10 using\n // ln(a*10^b) = ln(a) + b*ln(10).\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\n // max n is 6 (gives 0.7 - 1.3)\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\n x = x.times(y);\n c = digitsToString(x.d);\n c0 = c.charAt(0);\n n++;\n }\n\n e = getBase10Exponent(x);\n\n if (c0 > 1) {\n x = new Ctor('0.' + c);\n e++;\n } else {\n x = new Ctor(c0 + '.' + c.slice(1));\n }\n } else {\n // The argument reduction method above may result in overflow if the argument y is a massive\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\n // function using ln(x*10^e) = ln(x) + e*ln(10).\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\n Ctor.precision = pr;\n return sd == null ? (external = true, round(x, pr)) : x;\n } // x is reduced to a value near 1.\n // Taylor series.\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\n // where x = (y - 1)/(y + 1) (|x| < 1)\n\n\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\n x2 = round(x.times(x), wpr);\n denominator = 3;\n\n for (;;) {\n numerator = round(numerator.times(x2), wpr);\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\n\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\n sum = sum.times(2); // Reverse the argument reduction.\n\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\n sum = divide(sum, new Ctor(n), wpr);\n Ctor.precision = pr;\n return sd == null ? (external = true, round(sum, pr)) : sum;\n }\n\n sum = t;\n denominator += 2;\n }\n }\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\n\n\n function parseDecimal(x, str) {\n var e, i, len; // Decimal point?\n\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', ''); // Exponential form?\n\n if ((i = str.search(/e/i)) > 0) {\n // Determine exponent.\n if (e < 0) e = i;\n e += +str.slice(i + 1);\n str = str.substring(0, i);\n } else if (e < 0) {\n // Integer.\n e = str.length;\n } // Determine leading zeros.\n\n\n for (i = 0; str.charCodeAt(i) === 48;) {\n ++i;\n } // Determine trailing zeros.\n\n\n for (len = str.length; str.charCodeAt(len - 1) === 48;) {\n --len;\n }\n\n str = str.slice(i, len);\n\n if (str) {\n len -= i;\n e = e - i - 1;\n x.e = mathfloor(e / LOG_BASE);\n x.d = []; // Transform base\n // e is the base 10 exponent.\n // i is where to slice str to get the first word of the digits array.\n\n i = (e + 1) % LOG_BASE;\n if (e < 0) i += LOG_BASE;\n\n if (i < len) {\n if (i) x.d.push(+str.slice(0, i));\n\n for (len -= LOG_BASE; i < len;) {\n x.d.push(+str.slice(i, i += LOG_BASE));\n }\n\n str = str.slice(i);\n i = LOG_BASE - str.length;\n } else {\n i -= len;\n }\n\n for (; i--;) {\n str += '0';\n }\n\n x.d.push(+str);\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\n } else {\n // Zero.\n x.s = 0;\n x.e = 0;\n x.d = [0];\n }\n\n return x;\n }\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\n\n\n function round(x, sd, rm) {\n var i,\n j,\n k,\n n,\n rd,\n doRound,\n w,\n xdi,\n xd = x.d; // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\n // xdi: the index of w within xd.\n // n: the number of digits of w.\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\n // they had leading zeros)\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\n // Get the length of the first word of the digits array xd.\n\n for (n = 1, k = xd[0]; k >= 10; k /= 10) {\n n++;\n }\n\n i = sd - n; // Is the rounding digit in the first word of xd?\n\n if (i < 0) {\n i += LOG_BASE;\n j = sd;\n w = xd[xdi = 0];\n } else {\n xdi = Math.ceil((i + 1) / LOG_BASE);\n k = xd.length;\n if (xdi >= k) return x;\n w = k = xd[xdi]; // Get the number of digits of w.\n\n for (n = 1; k >= 10; k /= 10) {\n n++;\n } // Get the index of rd within w.\n\n\n i %= LOG_BASE; // Get the index of rd within w, adjusted for leading zeros.\n // The number of leading zeros of w is given by LOG_BASE - n.\n\n j = i - LOG_BASE + n;\n }\n\n if (rm !== void 0) {\n k = mathpow(10, n - j - 1); // Get the rounding digit at index j of w.\n\n rd = w / k % 10 | 0; // Are there any non-zero digits after the rounding digit?\n\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k; // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\n // 714.\n\n doRound = rm < 4 ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.\n (i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));\n }\n\n if (sd < 1 || !xd[0]) {\n if (doRound) {\n k = getBase10Exponent(x);\n xd.length = 1; // Convert sd to decimal places.\n\n sd = sd - k - 1; // 1, 0.1, 0.01, 0.001, 0.0001 etc.\n\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\n x.e = mathfloor(-sd / LOG_BASE) || 0;\n } else {\n xd.length = 1; // Zero.\n\n xd[0] = x.e = x.s = 0;\n }\n\n return x;\n } // Remove excess digits.\n\n\n if (i == 0) {\n xd.length = xdi;\n k = 1;\n xdi--;\n } else {\n xd.length = xdi + 1;\n k = mathpow(10, LOG_BASE - i); // E.g. 56700 becomes 56000 if 7 is the rounding digit.\n // j > 0 means i > number of leading zeros of w.\n\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\n }\n\n if (doRound) {\n for (;;) {\n // Is the digit to be rounded up in the first word of xd?\n if (xdi == 0) {\n if ((xd[0] += k) == BASE) {\n xd[0] = 1;\n ++x.e;\n }\n\n break;\n } else {\n xd[xdi] += k;\n if (xd[xdi] != BASE) break;\n xd[xdi--] = 0;\n k = 1;\n }\n }\n } // Remove trailing zeros.\n\n\n for (i = xd.length; xd[--i] === 0;) {\n xd.pop();\n }\n\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\n throw Error(exponentOutOfRange + getBase10Exponent(x));\n }\n\n return x;\n }\n\n function subtract(x, y) {\n var d,\n e,\n i,\n j,\n k,\n len,\n xd,\n xe,\n xLTy,\n yd,\n Ctor = x.constructor,\n pr = Ctor.precision; // Return y negated if x is zero.\n // Return x if y is zero and x is non-zero.\n\n if (!x.s || !y.s) {\n if (y.s) y.s = -y.s;else y = new Ctor(x);\n return external ? round(y, pr) : y;\n }\n\n xd = x.d;\n yd = y.d; // x and y are non-zero numbers with the same sign.\n\n e = y.e;\n xe = x.e;\n xd = xd.slice();\n k = xe - e; // If exponents differ...\n\n if (k) {\n xLTy = k < 0;\n\n if (xLTy) {\n d = xd;\n k = -k;\n len = yd.length;\n } else {\n d = yd;\n e = xe;\n len = xd.length;\n } // Numbers with massively different exponents would result in a very high number of zeros\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\n\n\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\n\n if (k > i) {\n k = i;\n d.length = 1;\n } // Prepend zeros to equalise exponents.\n\n\n d.reverse();\n\n for (i = k; i--;) {\n d.push(0);\n }\n\n d.reverse(); // Base 1e7 exponents equal.\n } else {\n // Check digits to determine which is the bigger number.\n i = xd.length;\n len = yd.length;\n xLTy = i < len;\n if (xLTy) len = i;\n\n for (i = 0; i < len; i++) {\n if (xd[i] != yd[i]) {\n xLTy = xd[i] < yd[i];\n break;\n }\n }\n\n k = 0;\n }\n\n if (xLTy) {\n d = xd;\n xd = yd;\n yd = d;\n y.s = -y.s;\n }\n\n len = xd.length; // Append zeros to xd if shorter.\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\n\n for (i = yd.length - len; i > 0; --i) {\n xd[len++] = 0;\n } // Subtract yd from xd.\n\n\n for (i = yd.length; i > k;) {\n if (xd[--i] < yd[i]) {\n for (j = i; j && xd[--j] === 0;) {\n xd[j] = BASE - 1;\n }\n\n --xd[j];\n xd[i] += BASE;\n }\n\n xd[i] -= yd[i];\n } // Remove trailing zeros.\n\n\n for (; xd[--len] === 0;) {\n xd.pop();\n } // Remove leading zeros and adjust exponent accordingly.\n\n\n for (; xd[0] === 0; xd.shift()) {\n --e;\n } // Zero?\n\n\n if (!xd[0]) return new Ctor(0);\n y.d = xd;\n y.e = e; //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\n\n return external ? round(y, pr) : y;\n }\n\n function toString(x, isExp, sd) {\n var k,\n e = getBase10Exponent(x),\n str = digitsToString(x.d),\n len = str.length;\n\n if (isExp) {\n if (sd && (k = sd - len) > 0) {\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\n } else if (len > 1) {\n str = str.charAt(0) + '.' + str.slice(1);\n }\n\n str = str + (e < 0 ? 'e' : 'e+') + e;\n } else if (e < 0) {\n str = '0.' + getZeroString(-e - 1) + str;\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\n } else if (e >= len) {\n str += getZeroString(e + 1 - len);\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\n } else {\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\n\n if (sd && (k = sd - len) > 0) {\n if (e + 1 === len) str += '.';\n str += getZeroString(k);\n }\n }\n\n return x.s < 0 ? '-' + str : str;\n } // Does not strip trailing zeros.\n\n\n function truncate(arr, len) {\n if (arr.length > len) {\n arr.length = len;\n return true;\n }\n } // Decimal methods\n\n /*\r\n * clone\r\n * config/set\r\n */\n\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\n\n\n function clone(obj) {\n var i, p, ps;\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\n\n function Decimal(value) {\n var x = this; // Decimal called without new.\n\n if (!(x instanceof Decimal)) return new Decimal(value); // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\n // which points to Object.\n\n x.constructor = Decimal; // Duplicate.\n\n if (value instanceof Decimal) {\n x.s = value.s;\n x.e = value.e;\n x.d = (value = value.d) ? value.slice() : value;\n return;\n }\n\n if (typeof value === 'number') {\n // Reject Infinity/NaN.\n if (value * 0 !== 0) {\n throw Error(invalidArgument + value);\n }\n\n if (value > 0) {\n x.s = 1;\n } else if (value < 0) {\n value = -value;\n x.s = -1;\n } else {\n x.s = 0;\n x.e = 0;\n x.d = [0];\n return;\n } // Fast path for small integers.\n\n\n if (value === ~~value && value < 1e7) {\n x.e = 0;\n x.d = [value];\n return;\n }\n\n return parseDecimal(x, value.toString());\n } else if (typeof value !== 'string') {\n throw Error(invalidArgument + value);\n } // Minus sign?\n\n\n if (value.charCodeAt(0) === 45) {\n value = value.slice(1);\n x.s = -1;\n } else {\n x.s = 1;\n }\n\n if (isDecimal.test(value)) parseDecimal(x, value);else throw Error(invalidArgument + value);\n }\n\n Decimal.prototype = P;\n Decimal.ROUND_UP = 0;\n Decimal.ROUND_DOWN = 1;\n Decimal.ROUND_CEIL = 2;\n Decimal.ROUND_FLOOR = 3;\n Decimal.ROUND_HALF_UP = 4;\n Decimal.ROUND_HALF_DOWN = 5;\n Decimal.ROUND_HALF_EVEN = 6;\n Decimal.ROUND_HALF_CEIL = 7;\n Decimal.ROUND_HALF_FLOOR = 8;\n Decimal.clone = clone;\n Decimal.config = Decimal.set = config;\n if (obj === void 0) obj = {};\n\n if (obj) {\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\n\n for (i = 0; i < ps.length;) {\n if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\n }\n }\n\n Decimal.config(obj);\n return Decimal;\n }\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\n\n\n function config(obj) {\n if (!obj || _typeof(obj) !== 'object') {\n throw Error(decimalError + 'Object expected');\n }\n\n var i,\n p,\n v,\n ps = ['precision', 1, MAX_DIGITS, 'rounding', 0, 8, 'toExpNeg', -1 / 0, 0, 'toExpPos', 0, 1 / 0];\n\n for (i = 0; i < ps.length; i += 3) {\n if ((v = obj[p = ps[i]]) !== void 0) {\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;else throw Error(invalidArgument + p + ': ' + v);\n }\n }\n\n if ((v = obj[p = 'LN10']) !== void 0) {\n if (v == Math.LN10) this[p] = new this(v);else throw Error(invalidArgument + p + ': ' + v);\n }\n\n return this;\n } // Create and configure initial Decimal constructor.\n\n\n Decimal = clone(Decimal);\n Decimal['default'] = Decimal.Decimal = Decimal; // Internal constant.\n\n ONE = new Decimal(1); // Export.\n // AMD.\n\n if (typeof define == 'function' && define.amd) {\n define(function () {\n return Decimal;\n }); // Node and other environments that support module.exports.\n } else if (typeof module != 'undefined' && module.exports) {\n module.exports = Decimal; // Browser.\n } else {\n if (!globalScope) {\n globalScope = typeof self != 'undefined' && self && self.self == self ? self : Function('return this')();\n }\n\n globalScope.Decimal = Decimal;\n }\n})(this);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.memoize = exports.reverse = exports.compose = exports.map = exports.range = exports.curry = exports.PLACE_HOLDER = void 0;\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nvar identity = function identity(i) {\n return i;\n};\n\nvar PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\nexports.PLACE_HOLDER = PLACE_HOLDER;\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nvar curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\n\nexports.curry = curry;\n\nvar range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\n\nexports.range = range;\nvar map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexports.map = map;\n\nvar compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\n\nexports.compose = compose;\n\nvar reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\n\nexports.reverse = reverse;\n\nvar memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};\n\nexports.memoize = memoize;","var toNumber = require('./toNumber');\n/** Used as references for various `Number` constants. */\n\n\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n\n value = toNumber(value);\n\n if (value === INFINITY || value === -INFINITY) {\n var sign = value < 0 ? -1 : 1;\n return sign * MAX_INTEGER;\n }\n\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;","import React from 'react';\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n Brush,\n ResponsiveContainer,\n} from 'recharts';\n\ntype ThunksBarGraphProps = {\n title: string;\n values: Array<{\n name: string;\n nthunks: number;\n }>;\n};\n\nconst ThunksBarGraph: React.FC = (props) => {\n const {\n title,\n values,\n } = props;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ThunksBarGraph;\n","import React from 'react';\nimport {\n ResponsiveContainer,\n BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Brush,\n} from 'recharts';\nimport chroma from 'chroma-js';\n\nexport interface WorkContent {\n name: string;\n}\n\n// must be name key\nexport type GraphData = { [key in string]: number };\n\nexport type WorkTimePerProjectBarGraphProps = {\n workContents: Array;\n graphData: Array;\n};\n\nconst WorkTimePerProjectBarGraph: React.FC = (props) => {\n const {\n workContents,\n graphData,\n } = props;\n\n const colors = chroma.scale('Spectral').colors(workContents.length);\n\n const onFmt = (value) => (value || 0);\n\n // flatten values\n const data = graphData.map((row) => {\n const v = row.values.reduce((acc, { name, value }) => {\n acc[name] = value;\n return acc;\n }, {});\n\n return {\n name: row.name,\n ...v,\n };\n });\n\n return (\n \n \n \n \n \n \n {\n workContents.map((contentName, index) => (\n \n ))\n }\n \n \n \n );\n};\n\nexport default WorkTimePerProjectBarGraph;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Used for creating new events for LocalStorage. This enables us to\n * have the ability of updating the LocalStorage from outside of the component,\n * but still update the component without prop drilling or creating a dependency\n * on a large library such as Redux.\n *\n * @class LocalStorageChanged\n * @extends {CustomEvent>}\n */\n\nvar LocalStorageChanged = /*#__PURE__*/function (_CustomEvent) {\n _inherits(LocalStorageChanged, _CustomEvent);\n\n var _super = _createSuper(LocalStorageChanged);\n\n function LocalStorageChanged(payload) {\n _classCallCheck(this, LocalStorageChanged);\n\n return _super.call(this, LocalStorageChanged.eventName, {\n detail: payload\n });\n }\n\n return LocalStorageChanged;\n}( /*#__PURE__*/_wrapNativeSuper(CustomEvent));\n\nLocalStorageChanged.eventName = 'onLocalStorageChange';\nexports.LocalStorageChanged = LocalStorageChanged;\n/**\n * Checks if the event that is passed in is the same type as LocalStorageChanged.\n *\n * @export\n * @template TValue\n * @param {*} evt the object you wish to assert as a LocalStorageChanged event.\n * @returns {evt is LocalStorageChanged} if true, evt is asserted to be LocalStorageChanged.\n */\n\nfunction isTypeOfLocalStorageChanged(evt) {\n return !!evt && (evt instanceof LocalStorageChanged || evt.detail && evt.type === LocalStorageChanged.eventName);\n}\n\nexports.isTypeOfLocalStorageChanged = isTypeOfLocalStorageChanged;\n/**\n * Use this instead of directly using localStorage.setItem\n * in order to correctly send events within the same window.\n *\n * @example\n * ```js\n * writeStorage('hello', JSON.stringify({ name: 'world' }));\n * const { name } = JSON.parse(localStorage.getItem('hello'));\n * ```\n *\n * @export\n * @param {string} key The key to write to in the localStorage.\n * @param {string} value The value to write to in the localStorage.\n */\n\nfunction writeStorage(key, value) {\n try {\n localStorage.setItem(key, _typeof(value) === 'object' ? JSON.stringify(value) : \"\".concat(value));\n window.dispatchEvent(new LocalStorageChanged({\n key: key,\n value: value\n }));\n } catch (err) {\n if (err instanceof TypeError && err.message.includes('circular structure')) {\n throw new TypeError('The object that was given to the writeStorage function has circular references.\\n' + 'For more information, check here: ' + 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value');\n }\n\n throw err;\n }\n}\n\nexports.writeStorage = writeStorage;\n/**\n * Use this function to delete a value from localStorage.\n *\n * @example\n * ```js\n * const user = { name: 'John', email: 'John@fakemail.com' };\n *\n * // Add a user to your localStorage\n * writeStorage('user', JSON.stringify(user));\n *\n * // This will also trigger an update to the state of your component\n * deleteFromStorage('user');\n * ```\n *\n * @export\n * @param {string} key The key of the item you wish to delete from localStorage.\n */\n\nfunction deleteFromStorage(key) {\n localStorage.removeItem(key);\n window.dispatchEvent(new LocalStorageChanged({\n key: key,\n value: ''\n }));\n}\n\nexports.deleteFromStorage = deleteFromStorage;","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport { initializeThanksState } from '@/store/initializeState/dailyreports';\nimport type { FormThanksProps } from '@/types/pages';\n\nconst FormThanks: FC = (props) => {\n const { departments, dailyReportArigatona } = props;\n\n const initState = initializeThanksState({\n departments,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormThanks;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { DailyReportWorksFormContainer } from '@/components/form/DailyReportViewTypeA';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormWorksProps } from '@/types/pages';\n\nconst FormWorks: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n formKind,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments: [],\n formKind,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormWorks;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { DailyReportRepresentationViewTypeAForm } from '@/components/form/DailyReportViewTypeA';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormRepresentationProps } from '@/types/pages';\n\nconst NewTypeA: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n dailyReportDate,\n formKind,\n users,\n dailyReportWorks,\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n dailyReportDate,\n workDetails,\n departments: [],\n formKind,\n });\n\n return (\n \n \n \n );\n};\n\nexport default NewTypeA;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport DailyReportsRepresentationContainer from '@/components/DailyReportsRepresentation/DailyReportsRepresentationContainer';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormRepresentationProps } from '@/types/pages';\n\nconst NewTypeB: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n dailyReportDate,\n formKind,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n dailyReportDate,\n workDetails: [],\n departments: [],\n formKind,\n });\n\n return (\n \n \n \n );\n};\n\nexport default NewTypeB;\n","import React, { FC } from 'react';\nimport { RecoilRoot, useRecoilValue } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { useDailyReport } from '@/hooks';\nimport { User } from '@/interface';\nimport type { FormTypeCProps } from '@/types/pages';\nimport { initializeFormTypeCState } from '@/store/initializeState/dailyreports';\nimport { dailyreportState, useDRDispatch } from '@/store/dailyreports/atom';\nimport { DailyReportRepresentationViewTypeCForm } from '@/components/form/DailyReportViewTypeC/DailyReportRepresentationViewTypeCForm';\n\nconst InnerNew = ({ dailyReportWorks, users }) => {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n const { worksState, newWorkState } = useDailyReport({\n defaultValue: dailyReportWorks,\n });\n\n return (\n \n );\n};\n\nconst NewTypeC: FC }> = ({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n dailyReportWorks,\n users,\n}) => {\n const initState = initializeFormTypeCState({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n });\n\n return (\n \n \n \n \n \n );\n};\n\nexport default NewTypeC;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { initializeThanksState } from '@/store/initializeState/dailyreports';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport type { FormThanksProps } from '@/types/pages';\n\nconst FormThanks: FC = (props) => {\n const { departments, dailyReportArigatona } = props;\n\n const initState = initializeThanksState({\n departments,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormThanks;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport DailyReportTimespanContainer from '@/components/DailyReportViewTypeB/DailyReportTimespanContainer';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormTimespanProps } from '@/types/pages';\n\nconst FormTimespan: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormTimespan;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { DailyReportWorksFormContainer } from '@/components/form/DailyReportViewTypeA';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormWorksProps } from '@/types/pages';\n\nconst FormWorks: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n formKind,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments: [],\n formKind,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormWorks;\n","import React, { FC, useMemo } from 'react';\nimport { RecoilRoot, useRecoilValue } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport type { Work } from '@/interface';\nimport { useDailyReportTypeC } from '@/hooks';\nimport { DailyReportViewTypeCForm } from '@/components/form/DailyReportViewTypeC';\nimport { initializeFormTypeCState } from '@/store/initializeState/dailyreports';\nimport type { FormTypeCProps } from '@/types/pages';\nimport { dailyreportState } from '@/store/dailyreports/atom';\n\nconst InnerEdit = ({ works }: { works: Array }) => {\n const { date } = useRecoilValue(dailyreportState);\n\n const { worksState, workingWorkState, newWorkState } = useDailyReportTypeC({\n defaultValue: works,\n });\n\n return (\n undefined}\n worksState={worksState}\n workingWorkState={workingWorkState}\n newWorkState={newWorkState}\n submitText=\"更新\"\n />\n );\n};\n\nconst EditTypeC: FC = (props) => {\n const {\n dailyReportDate,\n dailyReportWorks,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n } = props;\n\n const initState = initializeFormTypeCState({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n });\n\n const works = useMemo(\n () =>\n dailyReportWorks.map((w) => {\n if (w.workContent.id === breaktimeWorkContent.id) {\n return { ...w, type: 'breaktime' };\n }\n return w;\n }),\n [dailyReportWorks],\n );\n\n return (\n \n \n \n \n \n );\n};\n\nexport default EditTypeC;\n","import React, { FC, useMemo } from 'react';\nimport { RecoilRoot, useRecoilValue } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { useDailyReportTypeD } from '@/hooks';\nimport { DailyReportViewTypeDForm } from '@/components/form/DailyReportViewTypeD';\nimport { initializeFormTypeDState } from '@/store/initializeState/dailyreports';\nimport type { FormTypeDProps } from '@/types/pages';\nimport { dailyreportState } from '@/store/dailyreports/atom';\nimport type { Work, Arigatona } from '@/interface';\n\nconst InnerEdit = ({ works, dailyReportArigatona }: { works: Array, dailyReportArigatona: Arigatona}) => {\n const { date } = useRecoilValue(dailyreportState);\n\n const { worksState, workingWorkState, newWorkState } = useDailyReportTypeD({\n defaultValue: works,\n });\n\n return (\n undefined}\n worksState={worksState}\n workingWorkState={workingWorkState}\n newWorkState={newWorkState}\n submitText=\"更新\"\n dailyReportArigatona={dailyReportArigatona}\n />\n );\n};\n\nconst EditTypeD: FC = (props) => {\n const {\n dailyReportDate,\n dailyReportWorks,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n dailyReportArigatona,\n departments\n } = props;\n\n const initState = initializeFormTypeDState({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n departments,\n });\n\n const works = useMemo(\n () =>\n dailyReportWorks.map((w) => {\n if (w.workContent.id === breaktimeWorkContent.id) {\n return { ...w, type: 'breaktime' };\n }\n return w;\n }),\n [dailyReportWorks, breaktimeWorkContent.id],\n );\n\n return (\n \n \n \n \n \n );\n};\n\nexport default EditTypeD;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormProps } from '@/types/pages';\n\nimport { DailyReportViewTypeAForm } from '@/components/form/DailyReportViewTypeA';\n\nconst Form: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n dailyReportPersisted,\n dailyReportWorks,\n dailyReportArigatona,\n thunksComment,\n memo,\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n });\n\n return (\n \n \n \n \n \n );\n};\n\nexport default Form;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport DailyReportArigatonaForm from '@/components/DailyReportArigatonaForm';\nimport { initializeThanksState } from '@/store/initializeState/dailyreports';\nimport type { FormThanksProps } from '@/types/pages';\n\nconst FormEditThanks: FC = (props) => {\n const { departments, dailyReportArigatona } = props;\n\n const initState = initializeThanksState({\n departments,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormEditThanks;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { DailyReportWorksFormContainer } from '@/components/form/DailyReportViewTypeA';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormWorksProps } from '@/types/pages';\n\nconst FormEditWorks: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n formKind,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments: [],\n formKind,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormEditWorks;\n","import React, { FC } from 'react';\nimport { RecoilRoot } from 'recoil';\nimport DailyReportTimespanContainer from '@/components/DailyReportViewTypeB/DailyReportTimespanContainer';\nimport { initializeState } from '@/store/initializeState/dailyreports';\nimport type { FormTimespanProps } from '@/types/pages';\n\nconst FormTimespan: FC = (props) => {\n const {\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n ...other\n } = props;\n\n const initState = initializeState({\n projectMatchFrom,\n workContentMatchFrom,\n workDetailMatchFrom,\n workProperties,\n workPropertiesWithCascade,\n workContents,\n workContentsWithCascade,\n workDetails,\n departments,\n formKind,\n dailyReportDate,\n });\n\n return (\n \n \n \n );\n};\n\nexport default FormTimespan;\n","import React, { FC } from 'react';\nimport { RecoilRoot, useRecoilValue } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { useDailyReportTypeCPersist } from '@/hooks';\nimport { DailyReportViewTypeCForm } from '@/components/form/DailyReportViewTypeC';\nimport { initializeFormTypeCState } from '@/store/initializeState/dailyreports';\nimport type { FormTypeCProps } from '@/types/pages';\nimport { dailyreportState, useDRDispatch } from '@/store/dailyreports/atom';\n\nconst InnerNew = ({ userId }: { userId: string }) => {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n const { worksState, workingWorkState, newWorkState } =\n useDailyReportTypeCPersist({\n userId,\n dailyReportDate: date,\n defaultValue: [],\n });\n\n return (\n \n );\n};\n\nconst NewTypeC: FC = (props) => {\n const {\n userId,\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n } = props;\n\n const initState = initializeFormTypeCState({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n });\n\n return (\n \n \n \n \n \n );\n};\n\nexport default NewTypeC;\n","import React, { FC } from 'react';\nimport { Collapse, List } from 'antd-mobile';\nimport { dailyReportsUserDailyReportsPath } from '@assets/rails-routes';\nimport type { User } from '@/interface';\nimport { I18n } from '@/locales';\nimport { visit } from '@/lib/turbolink';\nimport { CheckMark } from '@/components/Icon';\n\nconst { Panel } = Collapse;\nconst ListItem = List.Item;\nconst defaultDepartmentName = I18n.t('daily_reports.users.index.no_department');\n\nconst transition = (userId: number) => () => {\n const url = dailyReportsUserDailyReportsPath({\n userId,\n });\n visit(url);\n};\n\ntype User2 = User & {\n // eslint-disable-next-line camelcase\n report_status: 0 | 1;\n};\n\ntype IndexProps = {\n users: Record>;\n};\n\nconst Index: FC = ({ users }) => (\n
\n \n {Object.keys(users).map((departmentName) => {\n const byUsers = users[departmentName];\n\n return (\n \n \n {byUsers.map((user) => (\n }\n onClick={transition(user.id)}\n >\n {user.name}\n \n ))}\n \n \n );\n })}\n \n
\n);\n\nexport default Index;\n","import React, { FC } from 'react';\nimport { Collapse, List } from 'antd-mobile';\nimport { newDailyReportsUserDailyReportPath } from '@assets/rails-routes';\nimport type { User } from '@/interface';\nimport { I18n } from '@/locales';\nimport { visit } from '@/lib/turbolink';\nimport { CheckMark } from '@/components/Icon';\n\nconst { Panel } = Collapse;\nconst ListItem = List.Item;\nconst defaultDepartmentName = I18n.t('daily_reports.users.index.no_department');\n\nconst transition = (userId: number) => () => {\n const url = newDailyReportsUserDailyReportPath({\n userId,\n });\n visit(url);\n};\n\ntype User2 = User & {\n // eslint-disable-next-line camelcase\n report_status: 0 | 1;\n};\n\ntype NewProps = {\n users: Record>;\n};\n\nconst New: FC = ({ users }) => (\n
\n \n {Object.keys(users).map((departmentName) => {\n const byUsers = users[departmentName];\n\n return (\n \n \n {byUsers.map((user) => (\n }\n onClick={transition(user.id)}\n >\n {user.name}\n \n ))}\n \n \n );\n })}\n \n
\n);\n\nexport default New;\n","// Assume className is simple and can be found at top-level (window).\n// Fallback to eval to handle cases like 'My.React.ComponentName'.\n// Also, try to gracefully import Babel 6 style default exports\nvar topLevel = typeof window === \"undefined\" ? this : window;\n\nmodule.exports = function (className) {\n var constructor; // Try to access the class globally first\n\n constructor = topLevel[className]; // If that didn't work, try eval\n\n if (!constructor) {\n constructor = eval(className);\n } // Lastly, if there is a default attribute try that\n\n\n if (constructor && constructor['default']) {\n constructor = constructor['default'];\n }\n\n return constructor;\n};","import React, { FC } from 'react';\nimport { RecoilRoot, useRecoilValue } from 'recoil';\nimport { ConfigProvider } from 'antd-mobile';\nimport jaJp from 'antd-mobile/es/locales/ja-JP';\nimport { useDailyReportTypeDPersist } from 'hooks/dailyReport/useDailyReportTypeDPersist'\nimport { DailyReportViewTypeDForm } from '@/components/form/DailyReportViewTypeD';\nimport { initializeFormTypeDState } from '@/store/initializeState/dailyreports';\nimport type { FormTypeDProps } from '@/types/pages';\nimport { dailyreportState, useDRDispatch } from '@/store/dailyreports/atom';\nimport type { Arigatona } from 'interface';\n\nconst InnerNew = ({ userId, dailyReportArigatona }: { userId: string, dailyReportArigatona: Arigatona }) => {\n const { date } = useRecoilValue(dailyreportState);\n const { setDate } = useDRDispatch();\n const { worksState, workingWorkState, newWorkState } =\n useDailyReportTypeDPersist({\n userId,\n dailyReportDate: date,\n defaultValue: [],\n });\n\n return (\n \n );\n};\n\nconst NewTypeD: FC = (props) => {\n const {\n userId,\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n departments,\n dailyReportArigatona\n } = props;\n\n const initState = initializeFormTypeDState({\n dailyReportDate,\n workContents,\n workContentsWithCascade,\n formKind,\n dummyWorkProperty,\n breaktimeWorkContent,\n departments,\n });\n\n return (\n \n \n \n \n \n );\n};\n\nexport default NewTypeD;\n","import type {\n Work,\n} from '@/interface';\nimport { useDailyReportTypeCPersist } from './useDailyReportTypeCPersist';\n\ntype UseDailyReportTypeDPersist = {\n userId: string;\n dailyReportDate: string;\n defaultValue: Work[];\n};\n\nexport const useDailyReportTypeDPersist = (props: UseDailyReportTypeDPersist): ReturnType => useDailyReportTypeCPersist(props);\n","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keys = require('./keys');\n/**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n\n\nvar assignWith = createAssigner(function (object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n});\nmodule.exports = assignWith;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","var debounce = require('./debounce'),\n isObject = require('./isObject');\n/** Error message constants. */\n\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.staged = void 0;\n\nvar react_1 = __importDefault(require(\"react\"));\n\nfunction processNext(next) {\n if (typeof next === 'function') {\n return react_1[\"default\"].createElement(Stage, {\n stage: next\n });\n } else {\n return next;\n }\n}\n\nfunction Stage(props) {\n var next = props.stage();\n return processNext(next);\n}\n\nfunction staged(stage) {\n return function Staged(props, ref) {\n var next = stage(props, ref);\n return processNext(next);\n };\n}\n\nexports.staged = staged;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\")[\"default\"];\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useMergedState;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _useEvent = _interopRequireDefault(require(\"./useEvent\"));\n\nvar _useLayoutEffect = require(\"./useLayoutEffect\");\n\nvar _useState5 = _interopRequireDefault(require(\"./useState\"));\n/** We only think `undefined` is empty */\n\n\nfunction hasValue(value) {\n return value !== undefined;\n}\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\n\n\nfunction useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState; // ======================= Init =======================\n\n\n var _useState = (0, _useState5[\"default\"])(function () {\n if (hasValue(value)) {\n return value;\n } else if (hasValue(defaultValue)) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n } else {\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }\n }),\n _useState2 = (0, _slicedToArray2[\"default\"])(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n var postMergedValue = postState ? postState(mergedValue) : mergedValue; // ====================== Change ======================\n\n var onChangeFn = (0, _useEvent[\"default\"])(onChange);\n\n var _useState3 = (0, _useState5[\"default\"])([mergedValue]),\n _useState4 = (0, _slicedToArray2[\"default\"])(_useState3, 2),\n prevValue = _useState4[0],\n setPrevValue = _useState4[1];\n\n (0, _useLayoutEffect.useLayoutUpdateEffect)(function () {\n var prev = prevValue[0];\n\n if (innerValue !== prev) {\n onChangeFn(innerValue, prev);\n }\n }, [prevValue]); // Sync value back to `undefined` when it from control to un-control\n\n (0, _useLayoutEffect.useLayoutUpdateEffect)(function () {\n if (!hasValue(value)) {\n setInnerValue(value);\n }\n }, [value]); // ====================== Update ======================\n\n var triggerChange = (0, _useEvent[\"default\"])(function (updater, ignoreDestroy) {\n setInnerValue(updater, ignoreDestroy);\n setPrevValue([mergedValue], ignoreDestroy);\n });\n return [postMergedValue, triggerChange];\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n\n\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n\n\nvar merge = createAssigner(function (object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\nmodule.exports = merge;","var baseUniq = require('./_baseUniq');\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n\n\nfunction uniq(array) {\n return array && array.length ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n\n\nvar camelCase = createCompounder(function (result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\nmodule.exports = camelCase;","var baseRepeat = require('./_baseRepeat'),\n isIterateeCall = require('./_isIterateeCall'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n/**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n\n\nfunction repeat(string, n, guard) {\n if (guard ? isIterateeCall(string, n, guard) : n === undefined) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n\n return baseRepeat(toString(string), n);\n}\n\nmodule.exports = repeat;","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n\n\nvar sortBy = baseRest(function (collection, iteratees) {\n if (collection == null) {\n return [];\n }\n\n var length = iteratees.length;\n\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\nmodule.exports = sortBy;","var assignValue = require('./_assignValue'),\n baseZipObject = require('./_baseZipObject');\n/**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n\n\nfunction zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n}\n\nmodule.exports = zipObject;","var createRange = require('./_createRange');\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\n\n\nvar range = createRange();\nmodule.exports = range;","var baseIsEqual = require('./_baseIsEqual');\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n\n\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n baseRest = require('./_baseRest'),\n castArrayLikeObject = require('./_castArrayLikeObject');\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n\n\nvar intersection = baseRest(function (arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];\n});\nmodule.exports = intersection;","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n\n\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ResizeDetector = require('./components/ResizeDetector');\n\nvar _ResizeDetector2 = _interopRequireDefault(_ResizeDetector);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nexports[\"default\"] = _ResizeDetector2[\"default\"];","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n\n\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n/** `Object#toString` result references. */\n\n\nvar objectTag = '[object Object]';\n/** Used for built-in method references. */\n\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to resolve the decompiled source of functions. */\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/** Used to infer the `Object` constructor. */\n\nvar objectCtorString = funcToString.call(Object);\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n\n var proto = getPrototype(value);\n\n if (proto === null) {\n return true;\n }\n\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n\n\nvar find = createFind(findIndex);\nmodule.exports = find;","var debounce = require('./debounce'),\n isObject = require('./isObject');\n/** Error message constants. */\n\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n\n\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 R = (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\n\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\n\nmodule.exports = EventEmitter; // Backwards-compat with node 0.10.x\n\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined; // By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\n\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + _typeof(listener));\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function get() {\n return defaultMaxListeners;\n },\n set: function set(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}; // Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\n\n\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false; // If there is no 'error' event listener then throw.\n\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n } // At least give some kind of context to the user\n\n\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n if (handler === undefined) return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n\n for (var i = 0; i < len; ++i) {\n ReflectApply(listeners[i], this, args);\n }\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener); // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n\n events = target._events;\n }\n\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] : [existing, listener]; // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n } // Check for listener leak\n\n\n m = _getMaxListeners(target);\n\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true; // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n};\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0) return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n}; // Emits a 'removeListener' event if and only if the listener was removed.\n\n\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this; // not listening for removeListener, no need to emit\n\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];\n }\n\n return this;\n } // emit removeListener for all listeners on all events\n\n\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n};\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function (emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\n\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n copy[i] = arr[i];\n }\n\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) {\n list[index] = list[index + 1];\n }\n\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n\n return ret;\n}","var baseExtremum = require('./_baseExtremum'),\n baseIteratee = require('./_baseIteratee'),\n baseLt = require('./_baseLt');\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\n\n\nfunction minBy(array, iteratee) {\n return array && array.length ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt) : undefined;\n}\n\nmodule.exports = minBy;","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n baseIteratee = require('./_baseIteratee');\n/**\n * This method is like `_.max` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\n\n\nfunction maxBy(array, iteratee) {\n return array && array.length ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt) : undefined;\n}\n\nmodule.exports = maxBy;","// This file is automatically compiled by Webpack,\n// along with any other files\n// present in this directory.\n// You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript\n// and only use these pack files to reference\n// that code so it'll be compiled.\n/* eslint-disable */\n\nrequire('@rails/ujs').start();\nrequire('turbolinks').start();\nrequire('@rails/activestorage').start();\nrequire('@fortawesome/fontawesome-free/css/all.css');\nrequire('../stylesheets/application.scss');\nrequire('../../assets/javascripts/serviceworker-companion');\n\n// Uncomment to copy all static images\n// under../ images to the output folder and reference\n// them with the image_pack_tag helper\n// in views(e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\nconst images = require.context('../../assets/images', true);\nconst imagePath = (name) => images(name, true); // eslint-disable-line no-unused-vars\n// Support component names relative to this directory:\nconst componentRequireContext = require.context('components', true);\nconst ReactRailsUJS = require('react_ujs');\n\n// eslint-disable-next-line\nReactRailsUJS.useContext(componentRequireContext);\n\n/* eslint-enable */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\n/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function () {\n var t = this;\n (function () {\n (function () {\n this.Turbolinks = {\n supported: function () {\n return null != window.history.pushState && null != window.requestAnimationFrame && null != window.addEventListener;\n }(),\n visit: function visit(t, r) {\n return e.controller.visit(t, r);\n },\n clearCache: function clearCache() {\n return e.controller.clearCache();\n },\n setProgressBarDelay: function setProgressBarDelay(t) {\n return e.controller.setProgressBarDelay(t);\n }\n };\n }).call(this);\n }).call(t);\n var e = t.Turbolinks;\n (function () {\n (function () {\n var t,\n r,\n n,\n o = [].slice;\n e.copyObject = function (t) {\n var e, r, n;\n r = {};\n\n for (e in t) {\n n = t[e], r[e] = n;\n }\n\n return r;\n }, e.closest = function (e, r) {\n return t.call(e, r);\n }, t = function () {\n var t, e;\n return t = document.documentElement, null != (e = t.closest) ? e : function (t) {\n var e;\n\n for (e = this; e;) {\n if (e.nodeType === Node.ELEMENT_NODE && r.call(e, t)) return e;\n e = e.parentNode;\n }\n };\n }(), e.defer = function (t) {\n return setTimeout(t, 1);\n }, e.throttle = function (t) {\n var e;\n return e = null, function () {\n var r;\n return r = 1 <= arguments.length ? o.call(arguments, 0) : [], null != e ? e : e = requestAnimationFrame(function (n) {\n return function () {\n return e = null, t.apply(n, r);\n };\n }(this));\n };\n }, e.dispatch = function (t, e) {\n var r, o, i, s, a, u;\n return a = null != e ? e : {}, u = a.target, r = a.cancelable, o = a.data, i = document.createEvent(\"Events\"), i.initEvent(t, !0, r === !0), i.data = null != o ? o : {}, i.cancelable && !n && (s = i.preventDefault, i.preventDefault = function () {\n return this.defaultPrevented || Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n }\n }), s.call(this);\n }), (null != u ? u : document).dispatchEvent(i), i;\n }, n = function () {\n var t;\n return t = document.createEvent(\"Events\"), t.initEvent(\"test\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }(), e.match = function (t, e) {\n return r.call(t, e);\n }, r = function () {\n var t, e, r, n;\n return t = document.documentElement, null != (e = null != (r = null != (n = t.matchesSelector) ? n : t.webkitMatchesSelector) ? r : t.msMatchesSelector) ? e : t.mozMatchesSelector;\n }(), e.uuid = function () {\n var t, e, r;\n\n for (r = \"\", t = e = 1; 36 >= e; t = ++e) {\n r += 9 === t || 14 === t || 19 === t || 24 === t ? \"-\" : 15 === t ? \"4\" : 20 === t ? (Math.floor(4 * Math.random()) + 8).toString(16) : Math.floor(15 * Math.random()).toString(16);\n }\n\n return r;\n };\n }).call(this), function () {\n e.Location = function () {\n function t(t) {\n var e, r;\n null == t && (t = \"\"), r = document.createElement(\"a\"), r.href = t.toString(), this.absoluteURL = r.href, e = r.hash.length, 2 > e ? this.requestURL = this.absoluteURL : (this.requestURL = this.absoluteURL.slice(0, -e), this.anchor = r.hash.slice(1));\n }\n\n var e, r, n, o;\n return t.wrap = function (t) {\n return t instanceof this ? t : new this(t);\n }, t.prototype.getOrigin = function () {\n return this.absoluteURL.split(\"/\", 3).join(\"/\");\n }, t.prototype.getPath = function () {\n var t, e;\n return null != (t = null != (e = this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/)) ? e[1] : void 0) ? t : \"/\";\n }, t.prototype.getPathComponents = function () {\n return this.getPath().split(\"/\").slice(1);\n }, t.prototype.getLastPathComponent = function () {\n return this.getPathComponents().slice(-1)[0];\n }, t.prototype.getExtension = function () {\n var t, e;\n return null != (t = null != (e = this.getLastPathComponent().match(/\\.[^.]*$/)) ? e[0] : void 0) ? t : \"\";\n }, t.prototype.isHTML = function () {\n return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/);\n }, t.prototype.isPrefixedBy = function (t) {\n var e;\n return e = r(t), this.isEqualTo(t) || o(this.absoluteURL, e);\n }, t.prototype.isEqualTo = function (t) {\n return this.absoluteURL === (null != t ? t.absoluteURL : void 0);\n }, t.prototype.toCacheKey = function () {\n return this.requestURL;\n }, t.prototype.toJSON = function () {\n return this.absoluteURL;\n }, t.prototype.toString = function () {\n return this.absoluteURL;\n }, t.prototype.valueOf = function () {\n return this.absoluteURL;\n }, r = function r(t) {\n return e(t.getOrigin() + t.getPath());\n }, e = function e(t) {\n return n(t, \"/\") ? t : t + \"/\";\n }, o = function o(t, e) {\n return t.slice(0, e.length) === e;\n }, n = function n(t, e) {\n return t.slice(-e.length) === e;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t, e) {\n return function () {\n return _t.apply(e, arguments);\n };\n };\n\n e.HttpRequest = function () {\n function r(r, n, o) {\n this.delegate = r, this.requestCanceled = t(this.requestCanceled, this), this.requestTimedOut = t(this.requestTimedOut, this), this.requestFailed = t(this.requestFailed, this), this.requestLoaded = t(this.requestLoaded, this), this.requestProgressed = t(this.requestProgressed, this), this.url = e.Location.wrap(n).requestURL, this.referrer = e.Location.wrap(o).absoluteURL, this.createXHR();\n }\n\n return r.NETWORK_FAILURE = 0, r.TIMEOUT_FAILURE = -1, r.timeout = 60, r.prototype.send = function () {\n var t;\n return this.xhr && !this.sent ? (this.notifyApplicationBeforeRequestStart(), this.setProgress(0), this.xhr.send(), this.sent = !0, \"function\" == typeof (t = this.delegate).requestStarted ? t.requestStarted() : void 0) : void 0;\n }, r.prototype.cancel = function () {\n return this.xhr && this.sent ? this.xhr.abort() : void 0;\n }, r.prototype.requestProgressed = function (t) {\n return t.lengthComputable ? this.setProgress(t.loaded / t.total) : void 0;\n }, r.prototype.requestLoaded = function () {\n return this.endRequest(function (t) {\n return function () {\n var e;\n return 200 <= (e = t.xhr.status) && 300 > e ? t.delegate.requestCompletedWithResponse(t.xhr.responseText, t.xhr.getResponseHeader(\"Turbolinks-Location\")) : (t.failed = !0, t.delegate.requestFailedWithStatusCode(t.xhr.status, t.xhr.responseText));\n };\n }(this));\n }, r.prototype.requestFailed = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE);\n };\n }(this));\n }, r.prototype.requestTimedOut = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE);\n };\n }(this));\n }, r.prototype.requestCanceled = function () {\n return this.endRequest();\n }, r.prototype.notifyApplicationBeforeRequestStart = function () {\n return e.dispatch(\"turbolinks:request-start\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.notifyApplicationAfterRequestEnd = function () {\n return e.dispatch(\"turbolinks:request-end\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.createXHR = function () {\n return this.xhr = new XMLHttpRequest(), this.xhr.open(\"GET\", this.url, !0), this.xhr.timeout = 1e3 * this.constructor.timeout, this.xhr.setRequestHeader(\"Accept\", \"text/html, application/xhtml+xml\"), this.xhr.setRequestHeader(\"Turbolinks-Referrer\", this.referrer), this.xhr.onprogress = this.requestProgressed, this.xhr.onload = this.requestLoaded, this.xhr.onerror = this.requestFailed, this.xhr.ontimeout = this.requestTimedOut, this.xhr.onabort = this.requestCanceled;\n }, r.prototype.endRequest = function (t) {\n return this.xhr ? (this.notifyApplicationAfterRequestEnd(), null != t && t.call(this), this.destroy()) : void 0;\n }, r.prototype.setProgress = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.delegate).requestProgressed ? e.requestProgressed(this.progress) : void 0;\n }, r.prototype.destroy = function () {\n var t;\n return this.setProgress(1), \"function\" == typeof (t = this.delegate).requestFinished && t.requestFinished(), this.delegate = null, this.xhr = null;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t2, e) {\n return function () {\n return _t2.apply(e, arguments);\n };\n };\n\n e.ProgressBar = function () {\n function e() {\n this.trickle = t(this.trickle, this), this.stylesheetElement = this.createStylesheetElement(), this.progressElement = this.createProgressElement();\n }\n\n var r;\n return r = 300, e.defaultCSS = \".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \" + r + \"ms ease-out, opacity \" + r / 2 + \"ms \" + r / 2 + \"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\", e.prototype.show = function () {\n return this.visible ? void 0 : (this.visible = !0, this.installStylesheetElement(), this.installProgressElement(), this.startTrickling());\n }, e.prototype.hide = function () {\n return this.visible && !this.hiding ? (this.hiding = !0, this.fadeProgressElement(function (t) {\n return function () {\n return t.uninstallProgressElement(), t.stopTrickling(), t.visible = !1, t.hiding = !1;\n };\n }(this))) : void 0;\n }, e.prototype.setValue = function (t) {\n return this.value = t, this.refresh();\n }, e.prototype.installStylesheetElement = function () {\n return document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }, e.prototype.installProgressElement = function () {\n return this.progressElement.style.width = 0, this.progressElement.style.opacity = 1, document.documentElement.insertBefore(this.progressElement, document.body), this.refresh();\n }, e.prototype.fadeProgressElement = function (t) {\n return this.progressElement.style.opacity = 0, setTimeout(t, 1.5 * r);\n }, e.prototype.uninstallProgressElement = function () {\n return this.progressElement.parentNode ? document.documentElement.removeChild(this.progressElement) : void 0;\n }, e.prototype.startTrickling = function () {\n return null != this.trickleInterval ? this.trickleInterval : this.trickleInterval = setInterval(this.trickle, r);\n }, e.prototype.stopTrickling = function () {\n return clearInterval(this.trickleInterval), this.trickleInterval = null;\n }, e.prototype.trickle = function () {\n return this.setValue(this.value + Math.random() / 100);\n }, e.prototype.refresh = function () {\n return requestAnimationFrame(function (t) {\n return function () {\n return t.progressElement.style.width = 10 + 90 * t.value + \"%\";\n };\n }(this));\n }, e.prototype.createStylesheetElement = function () {\n var t;\n return t = document.createElement(\"style\"), t.type = \"text/css\", t.textContent = this.constructor.defaultCSS, t;\n }, e.prototype.createProgressElement = function () {\n var t;\n return t = document.createElement(\"div\"), t.className = \"turbolinks-progress-bar\", t;\n }, e;\n }();\n }.call(this), function () {\n var t = function t(_t3, e) {\n return function () {\n return _t3.apply(e, arguments);\n };\n };\n\n e.BrowserAdapter = function () {\n function r(r) {\n this.controller = r, this.showProgressBar = t(this.showProgressBar, this), this.progressBar = new e.ProgressBar();\n }\n\n var n, o, i;\n return i = e.HttpRequest, n = i.NETWORK_FAILURE, o = i.TIMEOUT_FAILURE, r.prototype.visitProposedToLocationWithAction = function (t, e) {\n return this.controller.startVisitToLocationWithAction(t, e);\n }, r.prototype.visitStarted = function (t) {\n return t.issueRequest(), t.changeHistory(), t.loadCachedSnapshot();\n }, r.prototype.visitRequestStarted = function (t) {\n return this.progressBar.setValue(0), t.hasCachedSnapshot() || \"restore\" !== t.action ? this.showProgressBarAfterDelay() : this.showProgressBar();\n }, r.prototype.visitRequestProgressed = function (t) {\n return this.progressBar.setValue(t.progress);\n }, r.prototype.visitRequestCompleted = function (t) {\n return t.loadResponse();\n }, r.prototype.visitRequestFailedWithStatusCode = function (t, e) {\n switch (e) {\n case n:\n case o:\n return this.reload();\n\n default:\n return t.loadResponse();\n }\n }, r.prototype.visitRequestFinished = function (t) {\n return this.hideProgressBar();\n }, r.prototype.visitCompleted = function (t) {\n return t.followRedirect();\n }, r.prototype.pageInvalidated = function () {\n return this.reload();\n }, r.prototype.showProgressBarAfterDelay = function () {\n return this.progressBarTimeout = setTimeout(this.showProgressBar, this.controller.progressBarDelay);\n }, r.prototype.showProgressBar = function () {\n return this.progressBar.show();\n }, r.prototype.hideProgressBar = function () {\n return this.progressBar.hide(), clearTimeout(this.progressBarTimeout);\n }, r.prototype.reload = function () {\n return window.location.reload();\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t4, e) {\n return function () {\n return _t4.apply(e, arguments);\n };\n };\n\n e.History = function () {\n function r(e) {\n this.delegate = e, this.onPageLoad = t(this.onPageLoad, this), this.onPopState = t(this.onPopState, this);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"popstate\", this.onPopState, !1), addEventListener(\"load\", this.onPageLoad, !1), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"popstate\", this.onPopState, !1), removeEventListener(\"load\", this.onPageLoad, !1), this.started = !1) : void 0;\n }, r.prototype.push = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"push\", t, r);\n }, r.prototype.replace = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"replace\", t, r);\n }, r.prototype.onPopState = function (t) {\n var r, n, o, i;\n return this.shouldHandlePopState() && (i = null != (n = t.state) ? n.turbolinks : void 0) ? (r = e.Location.wrap(window.location), o = i.restorationIdentifier, this.delegate.historyPoppedToLocationWithRestorationIdentifier(r, o)) : void 0;\n }, r.prototype.onPageLoad = function (t) {\n return e.defer(function (t) {\n return function () {\n return t.pageLoaded = !0;\n };\n }(this));\n }, r.prototype.shouldHandlePopState = function () {\n return this.pageIsLoaded();\n }, r.prototype.pageIsLoaded = function () {\n return this.pageLoaded || \"complete\" === document.readyState;\n }, r.prototype.update = function (t, e, r) {\n var n;\n return n = {\n turbolinks: {\n restorationIdentifier: r\n }\n }, history[t + \"State\"](n, null, e);\n }, r;\n }();\n }.call(this), function () {\n e.HeadDetails = function () {\n function t(t) {\n var e, r, n, s, a, u;\n\n for (this.elements = {}, n = 0, a = t.length; a > n; n++) {\n u = t[n], u.nodeType === Node.ELEMENT_NODE && (s = u.outerHTML, r = null != (e = this.elements)[s] ? e[s] : e[s] = {\n type: i(u),\n tracked: o(u),\n elements: []\n }, r.elements.push(u));\n }\n }\n\n var e, r, n, o, i;\n return t.fromHeadElement = function (t) {\n var e;\n return new this(null != (e = null != t ? t.childNodes : void 0) ? e : []);\n }, t.prototype.hasElementWithKey = function (t) {\n return t in this.elements;\n }, t.prototype.getTrackedElementSignature = function () {\n var t, e;\n return function () {\n var r, n;\n r = this.elements, n = [];\n\n for (t in r) {\n e = r[t].tracked, e && n.push(t);\n }\n\n return n;\n }.call(this).join(\"\");\n }, t.prototype.getScriptElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"script\", t);\n }, t.prototype.getStylesheetElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"stylesheet\", t);\n }, t.prototype.getElementsMatchingTypeNotInDetails = function (t, e) {\n var r, n, o, i, s, a;\n o = this.elements, s = [];\n\n for (n in o) {\n i = o[n], a = i.type, r = i.elements, a !== t || e.hasElementWithKey(n) || s.push(r[0]);\n }\n\n return s;\n }, t.prototype.getProvisionalElements = function () {\n var t, e, r, n, o, i, s;\n r = [], n = this.elements;\n\n for (e in n) {\n o = n[e], s = o.type, i = o.tracked, t = o.elements, null != s || i ? t.length > 1 && r.push.apply(r, t.slice(1)) : r.push.apply(r, t);\n }\n\n return r;\n }, t.prototype.getMetaValue = function (t) {\n var e;\n return null != (e = this.findMetaElementByName(t)) ? e.getAttribute(\"content\") : void 0;\n }, t.prototype.findMetaElementByName = function (t) {\n var r, n, o, i;\n r = void 0, i = this.elements;\n\n for (o in i) {\n n = i[o].elements, e(n[0], t) && (r = n[0]);\n }\n\n return r;\n }, i = function i(t) {\n return r(t) ? \"script\" : n(t) ? \"stylesheet\" : void 0;\n }, o = function o(t) {\n return \"reload\" === t.getAttribute(\"data-turbolinks-track\");\n }, r = function r(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"script\" === e;\n }, n = function n(t) {\n var e;\n return e = t.tagName.toLowerCase(), \"style\" === e || \"link\" === e && \"stylesheet\" === t.getAttribute(\"rel\");\n }, e = function e(t, _e) {\n var r;\n return r = t.tagName.toLowerCase(), \"meta\" === r && t.getAttribute(\"name\") === _e;\n }, t;\n }();\n }.call(this), function () {\n e.Snapshot = function () {\n function t(t, e) {\n this.headDetails = t, this.bodyElement = e;\n }\n\n return t.wrap = function (t) {\n return t instanceof this ? t : \"string\" == typeof t ? this.fromHTMLString(t) : this.fromHTMLElement(t);\n }, t.fromHTMLString = function (t) {\n var e;\n return e = document.createElement(\"html\"), e.innerHTML = t, this.fromHTMLElement(e);\n }, t.fromHTMLElement = function (t) {\n var r, n, o, i;\n return o = t.querySelector(\"head\"), r = null != (i = t.querySelector(\"body\")) ? i : document.createElement(\"body\"), n = e.HeadDetails.fromHeadElement(o), new this(n, r);\n }, t.prototype.clone = function () {\n return new this.constructor(this.headDetails, this.bodyElement.cloneNode(!0));\n }, t.prototype.getRootLocation = function () {\n var t, r;\n return r = null != (t = this.getSetting(\"root\")) ? t : \"/\", new e.Location(r);\n }, t.prototype.getCacheControlValue = function () {\n return this.getSetting(\"cache-control\");\n }, t.prototype.getElementForAnchor = function (t) {\n try {\n return this.bodyElement.querySelector(\"[id='\" + t + \"'], a[name='\" + t + \"']\");\n } catch (e) {}\n }, t.prototype.getPermanentElements = function () {\n return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementById = function (t) {\n return this.bodyElement.querySelector(\"#\" + t + \"[data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementsPresentInSnapshot = function (t) {\n var e, r, n, o, i;\n\n for (o = this.getPermanentElements(), i = [], r = 0, n = o.length; n > r; r++) {\n e = o[r], t.getPermanentElementById(e.id) && i.push(e);\n }\n\n return i;\n }, t.prototype.findFirstAutofocusableElement = function () {\n return this.bodyElement.querySelector(\"[autofocus]\");\n }, t.prototype.hasAnchor = function (t) {\n return null != this.getElementForAnchor(t);\n }, t.prototype.isPreviewable = function () {\n return \"no-preview\" !== this.getCacheControlValue();\n }, t.prototype.isCacheable = function () {\n return \"no-cache\" !== this.getCacheControlValue();\n }, t.prototype.isVisitable = function () {\n return \"reload\" !== this.getSetting(\"visit-control\");\n }, t.prototype.getSetting = function (t) {\n return this.headDetails.getMetaValue(\"turbolinks-\" + t);\n }, t;\n }();\n }.call(this), function () {\n var t = [].slice;\n\n e.Renderer = function () {\n function e() {}\n\n var r;\n return e.render = function () {\n var e, r, n, o;\n return n = arguments[0], r = arguments[1], e = 3 <= arguments.length ? t.call(arguments, 2) : [], o = function (t, e, r) {\n r.prototype = t.prototype;\n var n = new r(),\n o = t.apply(n, e);\n return Object(o) === o ? o : n;\n }(this, e, function () {}), o.delegate = n, o.render(r), o;\n }, e.prototype.renderView = function (t) {\n return this.delegate.viewWillRender(this.newBody), t(), this.delegate.viewRendered(this.newBody);\n }, e.prototype.invalidateView = function () {\n return this.delegate.viewInvalidated();\n }, e.prototype.createScriptElement = function (t) {\n var e;\n return \"false\" === t.getAttribute(\"data-turbolinks-eval\") ? t : (e = document.createElement(\"script\"), e.textContent = t.textContent, e.async = !1, r(e, t), e);\n }, r = function r(t, e) {\n var r, n, o, i, s, a, u;\n\n for (i = e.attributes, a = [], r = 0, n = i.length; n > r; r++) {\n s = i[r], o = s.name, u = s.value, a.push(t.setAttribute(o, u));\n }\n\n return a;\n }, e;\n }();\n }.call(this), function () {\n var t,\n r,\n n = function n(t, e) {\n function r() {\n this.constructor = t;\n }\n\n for (var n in e) {\n o.call(e, n) && (t[n] = e[n]);\n }\n\n return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n e.SnapshotRenderer = function (e) {\n function o(t, e, r) {\n this.currentSnapshot = t, this.newSnapshot = e, this.isPreview = r, this.currentHeadDetails = this.currentSnapshot.headDetails, this.newHeadDetails = this.newSnapshot.headDetails, this.currentBody = this.currentSnapshot.bodyElement, this.newBody = this.newSnapshot.bodyElement;\n }\n\n return n(o, e), o.prototype.render = function (t) {\n return this.shouldRender() ? (this.mergeHead(), this.renderView(function (e) {\n return function () {\n return e.replaceBody(), e.isPreview || e.focusFirstAutofocusableElement(), t();\n };\n }(this))) : this.invalidateView();\n }, o.prototype.mergeHead = function () {\n return this.copyNewHeadStylesheetElements(), this.copyNewHeadScriptElements(), this.removeCurrentHeadProvisionalElements(), this.copyNewHeadProvisionalElements();\n }, o.prototype.replaceBody = function () {\n var t;\n return t = this.relocateCurrentBodyPermanentElements(), this.activateNewBodyScriptElements(), this.assignNewBody(), this.replacePlaceholderElementsWithClonedPermanentElements(t);\n }, o.prototype.shouldRender = function () {\n return this.newSnapshot.isVisitable() && this.trackedElementsAreIdentical();\n }, o.prototype.trackedElementsAreIdentical = function () {\n return this.currentHeadDetails.getTrackedElementSignature() === this.newHeadDetails.getTrackedElementSignature();\n }, o.prototype.copyNewHeadStylesheetElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadStylesheetElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadScriptElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadScriptElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(this.createScriptElement(t)));\n }\n\n return o;\n }, o.prototype.removeCurrentHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getCurrentHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.removeChild(t));\n }\n\n return o;\n }, o.prototype.copyNewHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) {\n t = n[e], o.push(document.head.appendChild(t));\n }\n\n return o;\n }, o.prototype.relocateCurrentBodyPermanentElements = function () {\n var e, n, o, i, s, a, u;\n\n for (a = this.getCurrentBodyPermanentElements(), u = [], e = 0, n = a.length; n > e; e++) {\n i = a[e], s = t(i), o = this.newSnapshot.getPermanentElementById(i.id), r(i, s.element), r(o, i), u.push(s);\n }\n\n return u;\n }, o.prototype.replacePlaceholderElementsWithClonedPermanentElements = function (t) {\n var e, n, o, i, s, a, u;\n\n for (u = [], o = 0, i = t.length; i > o; o++) {\n a = t[o], n = a.element, s = a.permanentElement, e = s.cloneNode(!0), u.push(r(n, e));\n }\n\n return u;\n }, o.prototype.activateNewBodyScriptElements = function () {\n var t, e, n, o, i, s;\n\n for (i = this.getNewBodyScriptElements(), s = [], e = 0, o = i.length; o > e; e++) {\n n = i[e], t = this.createScriptElement(n), s.push(r(n, t));\n }\n\n return s;\n }, o.prototype.assignNewBody = function () {\n return document.body = this.newBody;\n }, o.prototype.focusFirstAutofocusableElement = function () {\n var t;\n return null != (t = this.newSnapshot.findFirstAutofocusableElement()) ? t.focus() : void 0;\n }, o.prototype.getNewHeadStylesheetElements = function () {\n return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getNewHeadScriptElements = function () {\n return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getCurrentHeadProvisionalElements = function () {\n return this.currentHeadDetails.getProvisionalElements();\n }, o.prototype.getNewHeadProvisionalElements = function () {\n return this.newHeadDetails.getProvisionalElements();\n }, o.prototype.getCurrentBodyPermanentElements = function () {\n return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot);\n }, o.prototype.getNewBodyScriptElements = function () {\n return this.newBody.querySelectorAll(\"script\");\n }, o;\n }(e.Renderer), t = function t(_t5) {\n var e;\n return e = document.createElement(\"meta\"), e.setAttribute(\"name\", \"turbolinks-permanent-placeholder\"), e.setAttribute(\"content\", _t5.id), {\n element: e,\n permanentElement: _t5\n };\n }, r = function r(t, e) {\n var r;\n return (r = t.parentNode) ? r.replaceChild(e, t) : void 0;\n };\n }.call(this), function () {\n var t = function t(_t6, e) {\n function n() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n r.call(e, o) && (_t6[o] = e[o]);\n }\n\n return n.prototype = e.prototype, _t6.prototype = new n(), _t6.__super__ = e.prototype, _t6;\n },\n r = {}.hasOwnProperty;\n\n e.ErrorRenderer = function (e) {\n function r(t) {\n var e;\n e = document.createElement(\"html\"), e.innerHTML = t, this.newHead = e.querySelector(\"head\"), this.newBody = e.querySelector(\"body\");\n }\n\n return t(r, e), r.prototype.render = function (t) {\n return this.renderView(function (e) {\n return function () {\n return e.replaceHeadAndBody(), e.activateBodyScriptElements(), t();\n };\n }(this));\n }, r.prototype.replaceHeadAndBody = function () {\n var t, e;\n return e = document.head, t = document.body, e.parentNode.replaceChild(this.newHead, e), t.parentNode.replaceChild(this.newBody, t);\n }, r.prototype.activateBodyScriptElements = function () {\n var t, e, r, n, o, i;\n\n for (n = this.getScriptElements(), i = [], e = 0, r = n.length; r > e; e++) {\n o = n[e], t = this.createScriptElement(o), i.push(o.parentNode.replaceChild(t, o));\n }\n\n return i;\n }, r.prototype.getScriptElements = function () {\n return document.documentElement.querySelectorAll(\"script\");\n }, r;\n }(e.Renderer);\n }.call(this), function () {\n e.View = function () {\n function t(t) {\n this.delegate = t, this.htmlElement = document.documentElement;\n }\n\n return t.prototype.getRootLocation = function () {\n return this.getSnapshot().getRootLocation();\n }, t.prototype.getElementForAnchor = function (t) {\n return this.getSnapshot().getElementForAnchor(t);\n }, t.prototype.getSnapshot = function () {\n return e.Snapshot.fromHTMLElement(this.htmlElement);\n }, t.prototype.render = function (t, e) {\n var r, n, o;\n return o = t.snapshot, r = t.error, n = t.isPreview, this.markAsPreview(n), null != o ? this.renderSnapshot(o, n, e) : this.renderError(r, e);\n }, t.prototype.markAsPreview = function (t) {\n return t ? this.htmlElement.setAttribute(\"data-turbolinks-preview\", \"\") : this.htmlElement.removeAttribute(\"data-turbolinks-preview\");\n }, t.prototype.renderSnapshot = function (t, r, n) {\n return e.SnapshotRenderer.render(this.delegate, n, this.getSnapshot(), e.Snapshot.wrap(t), r);\n }, t.prototype.renderError = function (t, r) {\n return e.ErrorRenderer.render(this.delegate, r, t);\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t7, e) {\n return function () {\n return _t7.apply(e, arguments);\n };\n };\n\n e.ScrollManager = function () {\n function r(r) {\n this.delegate = r, this.onScroll = t(this.onScroll, this), this.onScroll = e.throttle(this.onScroll);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"scroll\", this.onScroll, !1), this.onScroll(), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"scroll\", this.onScroll, !1), this.started = !1) : void 0;\n }, r.prototype.scrollToElement = function (t) {\n return t.scrollIntoView();\n }, r.prototype.scrollToPosition = function (t) {\n var e, r;\n return e = t.x, r = t.y, window.scrollTo(e, r);\n }, r.prototype.onScroll = function (t) {\n return this.updatePosition({\n x: window.pageXOffset,\n y: window.pageYOffset\n });\n }, r.prototype.updatePosition = function (t) {\n var e;\n return this.position = t, null != (e = this.delegate) ? e.scrollPositionChanged(this.position) : void 0;\n }, r;\n }();\n }.call(this), function () {\n e.SnapshotCache = function () {\n function t(t) {\n this.size = t, this.keys = [], this.snapshots = {};\n }\n\n var r;\n return t.prototype.has = function (t) {\n var e;\n return e = r(t), e in this.snapshots;\n }, t.prototype.get = function (t) {\n var e;\n if (this.has(t)) return e = this.read(t), this.touch(t), e;\n }, t.prototype.put = function (t, e) {\n return this.write(t, e), this.touch(t), e;\n }, t.prototype.read = function (t) {\n var e;\n return e = r(t), this.snapshots[e];\n }, t.prototype.write = function (t, e) {\n var n;\n return n = r(t), this.snapshots[n] = e;\n }, t.prototype.touch = function (t) {\n var e, n;\n return n = r(t), e = this.keys.indexOf(n), e > -1 && this.keys.splice(e, 1), this.keys.unshift(n), this.trim();\n }, t.prototype.trim = function () {\n var t, e, r, n, o;\n\n for (n = this.keys.splice(this.size), o = [], t = 0, r = n.length; r > t; t++) {\n e = n[t], o.push(delete this.snapshots[e]);\n }\n\n return o;\n }, r = function r(t) {\n return e.Location.wrap(t).toCacheKey();\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t8, e) {\n return function () {\n return _t8.apply(e, arguments);\n };\n };\n\n e.Visit = function () {\n function r(r, n, o) {\n this.controller = r, this.action = o, this.performScroll = t(this.performScroll, this), this.identifier = e.uuid(), this.location = e.Location.wrap(n), this.adapter = this.controller.adapter, this.state = \"initialized\", this.timingMetrics = {};\n }\n\n var n;\n return r.prototype.start = function () {\n return \"initialized\" === this.state ? (this.recordTimingMetric(\"visitStart\"), this.state = \"started\", this.adapter.visitStarted(this)) : void 0;\n }, r.prototype.cancel = function () {\n var t;\n return \"started\" === this.state ? (null != (t = this.request) && t.cancel(), this.cancelRender(), this.state = \"canceled\") : void 0;\n }, r.prototype.complete = function () {\n var t;\n return \"started\" === this.state ? (this.recordTimingMetric(\"visitEnd\"), this.state = \"completed\", \"function\" == typeof (t = this.adapter).visitCompleted && t.visitCompleted(this), this.controller.visitCompleted(this)) : void 0;\n }, r.prototype.fail = function () {\n var t;\n return \"started\" === this.state ? (this.state = \"failed\", \"function\" == typeof (t = this.adapter).visitFailed ? t.visitFailed(this) : void 0) : void 0;\n }, r.prototype.changeHistory = function () {\n var t, e;\n return this.historyChanged ? void 0 : (t = this.location.isEqualTo(this.referrer) ? \"replace\" : this.action, e = n(t), this.controller[e](this.location, this.restorationIdentifier), this.historyChanged = !0);\n }, r.prototype.issueRequest = function () {\n return this.shouldIssueRequest() && null == this.request ? (this.progress = 0, this.request = new e.HttpRequest(this, this.location, this.referrer), this.request.send()) : void 0;\n }, r.prototype.getCachedSnapshot = function () {\n var t;\n return !(t = this.controller.getCachedSnapshotForLocation(this.location)) || null != this.location.anchor && !t.hasAnchor(this.location.anchor) || \"restore\" !== this.action && !t.isPreviewable() ? void 0 : t;\n }, r.prototype.hasCachedSnapshot = function () {\n return null != this.getCachedSnapshot();\n }, r.prototype.loadCachedSnapshot = function () {\n var t, e;\n return (e = this.getCachedSnapshot()) ? (t = this.shouldIssueRequest(), this.render(function () {\n var r;\n return this.cacheSnapshot(), this.controller.render({\n snapshot: e,\n isPreview: t\n }, this.performScroll), \"function\" == typeof (r = this.adapter).visitRendered && r.visitRendered(this), t ? void 0 : this.complete();\n })) : void 0;\n }, r.prototype.loadResponse = function () {\n return null != this.response ? this.render(function () {\n var t, e;\n return this.cacheSnapshot(), this.request.failed ? (this.controller.render({\n error: this.response\n }, this.performScroll), \"function\" == typeof (t = this.adapter).visitRendered && t.visitRendered(this), this.fail()) : (this.controller.render({\n snapshot: this.response\n }, this.performScroll), \"function\" == typeof (e = this.adapter).visitRendered && e.visitRendered(this), this.complete());\n }) : void 0;\n }, r.prototype.followRedirect = function () {\n return this.redirectedToLocation && !this.followedRedirect ? (this.location = this.redirectedToLocation, this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation, this.restorationIdentifier), this.followedRedirect = !0) : void 0;\n }, r.prototype.requestStarted = function () {\n var t;\n return this.recordTimingMetric(\"requestStart\"), \"function\" == typeof (t = this.adapter).visitRequestStarted ? t.visitRequestStarted(this) : void 0;\n }, r.prototype.requestProgressed = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.adapter).visitRequestProgressed ? e.visitRequestProgressed(this) : void 0;\n }, r.prototype.requestCompletedWithResponse = function (t, r) {\n return this.response = t, null != r && (this.redirectedToLocation = e.Location.wrap(r)), this.adapter.visitRequestCompleted(this);\n }, r.prototype.requestFailedWithStatusCode = function (t, e) {\n return this.response = e, this.adapter.visitRequestFailedWithStatusCode(this, t);\n }, r.prototype.requestFinished = function () {\n var t;\n return this.recordTimingMetric(\"requestEnd\"), \"function\" == typeof (t = this.adapter).visitRequestFinished ? t.visitRequestFinished(this) : void 0;\n }, r.prototype.performScroll = function () {\n return this.scrolled ? void 0 : (\"restore\" === this.action ? this.scrollToRestoredPosition() || this.scrollToTop() : this.scrollToAnchor() || this.scrollToTop(), this.scrolled = !0);\n }, r.prototype.scrollToRestoredPosition = function () {\n var t, e;\n return t = null != (e = this.restorationData) ? e.scrollPosition : void 0, null != t ? (this.controller.scrollToPosition(t), !0) : void 0;\n }, r.prototype.scrollToAnchor = function () {\n return null != this.location.anchor ? (this.controller.scrollToAnchor(this.location.anchor), !0) : void 0;\n }, r.prototype.scrollToTop = function () {\n return this.controller.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.recordTimingMetric = function (t) {\n var e;\n return null != (e = this.timingMetrics)[t] ? e[t] : e[t] = new Date().getTime();\n }, r.prototype.getTimingMetrics = function () {\n return e.copyObject(this.timingMetrics);\n }, n = function n(t) {\n switch (t) {\n case \"replace\":\n return \"replaceHistoryWithLocationAndRestorationIdentifier\";\n\n case \"advance\":\n case \"restore\":\n return \"pushHistoryWithLocationAndRestorationIdentifier\";\n }\n }, r.prototype.shouldIssueRequest = function () {\n return \"restore\" === this.action ? !this.hasCachedSnapshot() : !0;\n }, r.prototype.cacheSnapshot = function () {\n return this.snapshotCached ? void 0 : (this.controller.cacheSnapshot(), this.snapshotCached = !0);\n }, r.prototype.render = function (t) {\n return this.cancelRender(), this.frame = requestAnimationFrame(function (e) {\n return function () {\n return e.frame = null, t.call(e);\n };\n }(this));\n }, r.prototype.cancelRender = function () {\n return this.frame ? cancelAnimationFrame(this.frame) : void 0;\n }, r;\n }();\n }.call(this), function () {\n var t = function t(_t9, e) {\n return function () {\n return _t9.apply(e, arguments);\n };\n };\n\n e.Controller = function () {\n function r() {\n this.clickBubbled = t(this.clickBubbled, this), this.clickCaptured = t(this.clickCaptured, this), this.pageLoaded = t(this.pageLoaded, this), this.history = new e.History(this), this.view = new e.View(this), this.scrollManager = new e.ScrollManager(this), this.restorationData = {}, this.clearCache(), this.setProgressBarDelay(500);\n }\n\n return r.prototype.start = function () {\n return e.supported && !this.started ? (addEventListener(\"click\", this.clickCaptured, !0), addEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.start(), this.startHistory(), this.started = !0, this.enabled = !0) : void 0;\n }, r.prototype.disable = function () {\n return this.enabled = !1;\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"click\", this.clickCaptured, !0), removeEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.stop(), this.stopHistory(), this.started = !1) : void 0;\n }, r.prototype.clearCache = function () {\n return this.cache = new e.SnapshotCache(10);\n }, r.prototype.visit = function (t, r) {\n var n, o;\n return null == r && (r = {}), t = e.Location.wrap(t), this.applicationAllowsVisitingLocation(t) ? this.locationIsVisitable(t) ? (n = null != (o = r.action) ? o : \"advance\", this.adapter.visitProposedToLocationWithAction(t, n)) : window.location = t : void 0;\n }, r.prototype.startVisitToLocationWithAction = function (t, r, n) {\n var o;\n return e.supported ? (o = this.getRestorationDataForIdentifier(n), this.startVisit(t, r, {\n restorationData: o\n })) : window.location = t;\n }, r.prototype.setProgressBarDelay = function (t) {\n return this.progressBarDelay = t;\n }, r.prototype.startHistory = function () {\n return this.location = e.Location.wrap(window.location), this.restorationIdentifier = e.uuid(), this.history.start(), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.stopHistory = function () {\n return this.history.stop();\n }, r.prototype.pushHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.push(this.location, this.restorationIdentifier);\n }, r.prototype.replaceHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.historyPoppedToLocationWithRestorationIdentifier = function (t, r) {\n var n;\n return this.restorationIdentifier = r, this.enabled ? (n = this.getRestorationDataForIdentifier(this.restorationIdentifier), this.startVisit(t, \"restore\", {\n restorationIdentifier: this.restorationIdentifier,\n restorationData: n,\n historyChanged: !0\n }), this.location = e.Location.wrap(t)) : this.adapter.pageInvalidated();\n }, r.prototype.getCachedSnapshotForLocation = function (t) {\n var e;\n return null != (e = this.cache.get(t)) ? e.clone() : void 0;\n }, r.prototype.shouldCacheSnapshot = function () {\n return this.view.getSnapshot().isCacheable();\n }, r.prototype.cacheSnapshot = function () {\n var t, r;\n return this.shouldCacheSnapshot() ? (this.notifyApplicationBeforeCachingSnapshot(), r = this.view.getSnapshot(), t = this.lastRenderedLocation, e.defer(function (e) {\n return function () {\n return e.cache.put(t, r.clone());\n };\n }(this))) : void 0;\n }, r.prototype.scrollToAnchor = function (t) {\n var e;\n return (e = this.view.getElementForAnchor(t)) ? this.scrollToElement(e) : this.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.scrollToElement = function (t) {\n return this.scrollManager.scrollToElement(t);\n }, r.prototype.scrollToPosition = function (t) {\n return this.scrollManager.scrollToPosition(t);\n }, r.prototype.scrollPositionChanged = function (t) {\n var e;\n return e = this.getCurrentRestorationData(), e.scrollPosition = t;\n }, r.prototype.render = function (t, e) {\n return this.view.render(t, e);\n }, r.prototype.viewInvalidated = function () {\n return this.adapter.pageInvalidated();\n }, r.prototype.viewWillRender = function (t) {\n return this.notifyApplicationBeforeRender(t);\n }, r.prototype.viewRendered = function () {\n return this.lastRenderedLocation = this.currentVisit.location, this.notifyApplicationAfterRender();\n }, r.prototype.pageLoaded = function () {\n return this.lastRenderedLocation = this.location, this.notifyApplicationAfterPageLoad();\n }, r.prototype.clickCaptured = function () {\n return removeEventListener(\"click\", this.clickBubbled, !1), addEventListener(\"click\", this.clickBubbled, !1);\n }, r.prototype.clickBubbled = function (t) {\n var e, r, n;\n return this.enabled && this.clickEventIsSignificant(t) && (r = this.getVisitableLinkForNode(t.target)) && (n = this.getVisitableLocationForLink(r)) && this.applicationAllowsFollowingLinkToLocation(r, n) ? (t.preventDefault(), e = this.getActionForLink(r), this.visit(n, {\n action: e\n })) : void 0;\n }, r.prototype.applicationAllowsFollowingLinkToLocation = function (t, e) {\n var r;\n return r = this.notifyApplicationAfterClickingLinkToLocation(t, e), !r.defaultPrevented;\n }, r.prototype.applicationAllowsVisitingLocation = function (t) {\n var e;\n return e = this.notifyApplicationBeforeVisitingLocation(t), !e.defaultPrevented;\n }, r.prototype.notifyApplicationAfterClickingLinkToLocation = function (t, r) {\n return e.dispatch(\"turbolinks:click\", {\n target: t,\n data: {\n url: r.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationBeforeVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:before-visit\", {\n data: {\n url: t.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationAfterVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:visit\", {\n data: {\n url: t.absoluteURL\n }\n });\n }, r.prototype.notifyApplicationBeforeCachingSnapshot = function () {\n return e.dispatch(\"turbolinks:before-cache\");\n }, r.prototype.notifyApplicationBeforeRender = function (t) {\n return e.dispatch(\"turbolinks:before-render\", {\n data: {\n newBody: t\n }\n });\n }, r.prototype.notifyApplicationAfterRender = function () {\n return e.dispatch(\"turbolinks:render\");\n }, r.prototype.notifyApplicationAfterPageLoad = function (t) {\n return null == t && (t = {}), e.dispatch(\"turbolinks:load\", {\n data: {\n url: this.location.absoluteURL,\n timing: t\n }\n });\n }, r.prototype.startVisit = function (t, e, r) {\n var n;\n return null != (n = this.currentVisit) && n.cancel(), this.currentVisit = this.createVisit(t, e, r), this.currentVisit.start(), this.notifyApplicationAfterVisitingLocation(t);\n }, r.prototype.createVisit = function (t, r, n) {\n var o, i, s, a, u;\n return i = null != n ? n : {}, a = i.restorationIdentifier, s = i.restorationData, o = i.historyChanged, u = new e.Visit(this, t, r), u.restorationIdentifier = null != a ? a : e.uuid(), u.restorationData = e.copyObject(s), u.historyChanged = o, u.referrer = this.location, u;\n }, r.prototype.visitCompleted = function (t) {\n return this.notifyApplicationAfterPageLoad(t.getTimingMetrics());\n }, r.prototype.clickEventIsSignificant = function (t) {\n return !(t.defaultPrevented || t.target.isContentEditable || t.which > 1 || t.altKey || t.ctrlKey || t.metaKey || t.shiftKey);\n }, r.prototype.getVisitableLinkForNode = function (t) {\n return this.nodeIsVisitable(t) ? e.closest(t, \"a[href]:not([target]):not([download])\") : void 0;\n }, r.prototype.getVisitableLocationForLink = function (t) {\n var r;\n return r = new e.Location(t.getAttribute(\"href\")), this.locationIsVisitable(r) ? r : void 0;\n }, r.prototype.getActionForLink = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-turbolinks-action\")) ? e : \"advance\";\n }, r.prototype.nodeIsVisitable = function (t) {\n var r;\n return (r = e.closest(t, \"[data-turbolinks]\")) ? \"false\" !== r.getAttribute(\"data-turbolinks\") : !0;\n }, r.prototype.locationIsVisitable = function (t) {\n return t.isPrefixedBy(this.view.getRootLocation()) && t.isHTML();\n }, r.prototype.getCurrentRestorationData = function () {\n return this.getRestorationDataForIdentifier(this.restorationIdentifier);\n }, r.prototype.getRestorationDataForIdentifier = function (t) {\n var e;\n return null != (e = this.restorationData)[t] ? e[t] : e[t] = {};\n }, r;\n }();\n }.call(this), function () {\n !function () {\n var t, e;\n if ((t = e = document.currentScript) && !e.hasAttribute(\"data-turbolinks-suppress-warning\")) for (; t = t.parentNode;) {\n if (t === document.body) return console.warn(\"You are loading Turbolinks from a